Методы-свойства

Деструкторы

§ Вызывается сборщиком мусора перед удалением объекта из памяти

§ Деструктор выполняет действия, гарантирующие, что объект будет удален корректно.

[атрибуты] [extern] ~имя_класса()

{

Тело_деструктора

}

§ Всегда один

§ Не имеет параметров

§ Не возвращает значение

§ Не требует модификатора доступа

§ Не вызывается, а запускается автоматически при уничтожении объекта.

3. Методы-свойства

4. Метод Main()

5. индексаторы

· для реализации принципа инкапсуляции

[Атрибуты] [Модификаторы] ТипСвойства

ИмяСвойства

{

[get (Код получения значения)]

[set (КодУстановкиЗначения)]

}

· часть get или set может отсутствовать, но не оба одновременно

· если отсутствует часть set, свойство доступно только для чтения

· если отсутствует часть get, свойство доступно только для записи

· Уровень доступа у set или get не может быть больше чем у всего свойства (например, свойство имеет уровень protected, а set - public

· Метод get должен содержать оператор return, возвращающий выражение, соответствующее или приводимое к типу поля

· В методе set используется параметр с именем value, который содержит устанавливаемое значение.

Метод Main()

· Метод Main() – точка входа в программу

· Может быть только одна точка

· Если метод Main () несколько, нужно указать опцию компилятора /main: class

Project Properties – Application – Startup object

· Метод Main () должна быть статическим

· Возвращаемое значение – void или int

· В среде Visual Studio параметры можно передавать следующим образом:

Project Properties – Debug – Start Options – Command line argument

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

· Следует тщательно продумывать интерфейс: он должен быть полным и минимально необходимым

· Как правильно, поля делаются закрытыми

· Каждый метод должен решать только одну задачу

· К проектированию полей и методов нужно подходить аккуратно – искать компромисс между скоростью и занимаемой памятью (использование поля при большом количестве объектов может привести к дополнительным расходам памяти)

· Создание любого метода следует начинать с ее интерфейса, т.е заголовка (определить вход и выход метода)

· Поля, характеризующие весь класс в целом, следует описывать как статические

· Как правило, методы имеют небольшое количество параметров, поскольку они работают с полями класса, область видимости которых распространяется на методы.

· Использовать перегрузку следует с осторожностью и обоснованно.

Наследование в C#

· Чтобы справиться со сложностью, возникающей при работе со многими классами, используется иерархия классов.

· Наследование обеспечивает упорядочивание структуры классов (упрощение откладки, модификации) и повторное использование кода(исключение повторений, создание новый программ на основе имеющихся)

· Класс в С# может иметь произвольное количество потомков и только одного предка

· Если имя предка не указано, предком считается базовый класс всей иерархии System.Object.

Public Demon (string name, int brain): Base (вызываем конструктор предка с таким списком параметра)

Реализация наследования:

· Поля, методы и свойства класса наследуются, поэтому если необходимо переопределить элемент класса, нужно указывать ключевое слово new

· Тем не менее остается возможность вызова исходного метода, используя ключевое слово base


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: