0Pricing
C# Academy · Урок

Поля, автоматически реализуемые свойства, инициализаторы объектов

Определяйте поля и автоматически реализуемые свойства, а также создавайте объекты с помощью лаконичных инициализаторов объектов.

«Поля, автоматически реализуемые свойства, инициализаторы объектов» — бесплатный урок C# Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 3 уроков всего.

Обзор основ классов

Цель: Создавать простые классы.

  • Fields хранят исходные данные
  • Автоматические свойства обеспечивают удобный доступ к данным
  • Инициализаторы объектов задают значения при создании

Fields в классе

Fields — это переменные внутри класса. Для общедоступных данных properties безопаснее.

using System;

// Fields store raw data inside a class
public class Player
{
  public string name; // field (usually prefer properties for public APIs)
  public int level;
}

public class Program
{
  public static void Main(string[] args)
  {
    Player p = new Player();
    p.name = "Ada";
    p.level = 1;
    Console.WriteLine("Player " + p.name + " level " + p.level);
  }
}

Автоматические свойства

Автоматические свойства предоставляют доступ к данным через get/set без написания field. Можно задать простые значения по умолчанию.

using System;

// Auto-properties generate a hidden backing field
public class Book
{
  public string Title { get; set; }
  public string Author { get; set; }
  public int Pages { get; set; } = 0; // auto-property initializer (C# 6)
}

public class Program
{
  public static void Main(string[] args)
  {
    Book b = new Book();
    b.Title = "Clean Code";
    b.Author = "Robert C. Martin";
    b.Pages = 464;
    Console.WriteLine(b.Title + " by " + b.Author + " (" + b.Pages + " pages)");
  }
}

Инициализаторы объектов

Инициализаторы объектов задают properties во время создания, сохраняя код коротким и понятным.

using System;

public class Person
{
  public string Name { get; set; }
  public int Age { get; set; }
}

public class Program
{
  public static void Main(string[] args)
  {
    // Object initializer calls set-accessors after construction
    Person p = new Person { Name = "Alan", Age = 30 };
    Console.WriteLine(p.Name + " (" + p.Age + ")");
  }
}

Fields и properties

Рекомендация:

  • Используйте закрытые fields для внутреннего хранения данных.
  • Предоставляйте общедоступные properties, чтобы позже добавлять проверку без нарушения работы вызывающего кода.
  • Используйте понятные и простые имена.

Fields и properties вместе

Объединяйте закрытое поле со свойством, чтобы контролировать записи (простые инварианты).

using System;

// Private fields + public properties pattern
public class Product
{
  private int _stock;                   // field (internal storage)
  public string Name { get; set; }      // property (public API)
  public int Stock                      // property with simple guard
  {
    get { return _stock; }
    set
    {
      if (value < 0) value = 0; // simple safety for beginners
      _stock = value;
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Product p = new Product { Name = "Pen", Stock = 5 };
    p.Stock = -3; // setter clamps to 0
    Console.WriteLine(p.Name + " stock = " + p.Stock);
  }
}

Концепция автоматического свойства

Быстрая проверка: что такое автоматическое свойство в C#?

Итоги

Итоги: Определяйте данные с помощью fields и предоставляйте к ним доступ через автоматические свойства. Используйте инициализаторы объектов, чтобы задавать значения при создании.

Часто задаваемые вопросы

Урок «Поля, автоматически реализуемые свойства, инициализаторы объектов» бесплатный?

Да — полный текст урока «Поля, автоматически реализуемые свойства, инициализаторы объектов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 3 уроков всего.

Чему я научусь в уроке «Поля, автоматически реализуемые свойства, инициализаторы объектов»?

Определяйте поля и автоматически реализуемые свойства, а также создавайте объекты с помощью лаконичных инициализаторов объектов. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.

Сколько времени занимает урок «Поля, автоматически реализуемые свойства, инициализаторы объектов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Поля, автоматически реализуемые свойства, инициализаторы объектов
  2. Конструкторы и статические члены
  3. Инкапсуляция и инварианты
← Назад к C# Academy