Целостность данных Flashcards
Что означает ключевое слово private?
Доступ к помеченному члену класса возможен только изнутри класса
Как модифицировать значения private-полей извне класса?
Напрямую — никак. Надо использовать методы класса, предусмотренные его автором, которые гарантируют целостность данных.
Что такое отложенная ошибка?
Это нарушение целостности данных, приводящее к ошибке не в момент нарушения, а намного позже
Что такое свойство?
Это пара методов: getter и setter, которые можно синтаксически использовать как поле, т.е. получать и присваивать ему значения
Сколько полей и методов будет сгенерировано компилятором при обработке этого свойства и какой у них будет уровень доступа (private, public)?
public string Name {get; private set;}
Одно приватное поле, один публичный метод, один приватный метод
Сколько полей и методов будет сгенерировано компилятором при обработке этого свойства и какой у них будет уровень доступа (private, public)?
public string Surname { get; }
Эта конструкция не скомпилируется
Как вызвать из одного конструктора другой конструктор, чтобы не дублировать код?
Используя this, например, так : Rectangle(int width, int height) : this(0, 0, width, height)
Что означает, что поле readonly?
Его значение нельзя модифицировать после того, как отработал конструктор. Допустим ответ, что ему можно присвоить значение только в конструкторе. Значение readonly-поля также можно задать через инициализатор поля.
В чем разница между константой и readonly static полем?
Разное время вычисления значения: const вычисляется в момент компиляции, static поле в момент запуска программы. Значение константы должно быть известно на момент компиляции, поэтому множество допустимых типов сильно ограничено.
Когда выполняются статические конструкторы?
До того, как будут использованы статические или динамические поля, но не обязательно в начале программы.