Целостность данных Flashcards

1
Q

Что означает ключевое слово private?

A

Доступ к помеченному члену класса возможен только изнутри класса

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Как модифицировать значения private-полей извне класса?

A

Напрямую — никак. Надо использовать методы класса, предусмотренные его автором, которые гарантируют целостность данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое отложенная ошибка?

A

Это нарушение целостности данных, приводящее к ошибке не в момент нарушения, а намного позже

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое свойство?

A

Это пара методов: getter и setter, которые можно синтаксически использовать как поле, т.е. получать и присваивать ему значения

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Сколько полей и методов будет сгенерировано компилятором при обработке этого свойства и какой у них будет уровень доступа (private, public)?

public string Name {get; private set;}

A

Одно приватное поле, один публичный метод, один приватный метод

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Сколько полей и методов будет сгенерировано компилятором при обработке этого свойства и какой у них будет уровень доступа (private, public)?

public string Surname { get; }

A

Эта конструкция не скомпилируется

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как вызвать из одного конструктора другой конструктор, чтобы не дублировать код?

A

Используя this, например, так : Rectangle(int width, int height) : this(0, 0, width, height)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Что означает, что поле readonly?

A

Его значение нельзя модифицировать после того, как отработал конструктор. Допустим ответ, что ему можно присвоить значение только в конструкторе. Значение readonly-поля также можно задать через инициализатор поля.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

В чем разница между константой и readonly static полем?

A

Разное время вычисления значения: const вычисляется в момент компиляции, static поле в момент запуска программы. Значение константы должно быть известно на момент компиляции, поэтому множество допустимых типов сильно ограничено.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Когда выполняются статические конструкторы?

A

До того, как будут использованы статические или динамические поля, но не обязательно в начале программы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly