12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- НАСЛЕДОВАНИЕ КЛАССОВ
- Ключевое слово virtual
- Чтобы производный класс получил возможность перекрывать методы, используйте ключевое
- слово *virtual*.
- // родительский метод
- class Bird {
- public virtual void Fly() {
- // код, заставляющий птицу летать
- }
- }
- Добавление одноименного метода в производный класс
- Переопределенный метод должен иметь такую же сигнатуру, то есть то же самое возвращаемое
- значение и параметры. В его объявлении используется ключевое слово *override*.
- // дочерний метод
- class Penguin : Bird {
- public override void Fly() {
- MessageBox.Show("Пингвины не летают!")
- }
- }
- !!!
- Используйте ключевое слово *override* для добавления в производный класс
- методов, замещающих методы унаследованные. Перекрывать можно методы,
- помеченные в базовом классе словом *virtual*.
- -=-=-=-=-=-=-=-=-=-=-=-
- Если в классе присутствуют конструкторы, то все классы, которые от
- него наследуют, должны вызывать хотя бы один из этих конструк-
- торов. При этом конструктор производного класса может иметь свои
- собственные параметры.
- class Subclass : BaseClass {
- public Subclass(список параметров)
- : base(список параметров базового класса) {
- // сначала выполняется конструктор базового класса,
- // а потом все остальные операторы
- }
- }
|