классы.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. НАСЛЕДОВАНИЕ КЛАССОВ
  2. Ключевое слово virtual
  3. Чтобы производный класс получил возможность перекрывать методы, используйте ключевое
  4. слово *virtual*.
  5. // родительский метод
  6. class Bird {
  7. public virtual void Fly() {
  8. // код, заставляющий птицу летать
  9. }
  10. }
  11. Добавление одноименного метода в производный класс
  12. Переопределенный метод должен иметь такую же сигнатуру, то есть то же самое возвращаемое
  13. значение и параметры. В его объявлении используется ключевое слово *override*.
  14. // дочерний метод
  15. class Penguin : Bird {
  16. public override void Fly() {
  17. MessageBox.Show("Пингвины не летают!")
  18. }
  19. }
  20. !!!
  21. Используйте ключевое слово *override* для добавления в производный класс
  22. методов, замещающих методы унаследованные. Перекрывать можно методы,
  23. помеченные в базовом классе словом *virtual*.
  24. -=-=-=-=-=-=-=-=-=-=-=-
  25. Если в классе присутствуют конструкторы, то все классы, которые от
  26. него наследуют, должны вызывать хотя бы один из этих конструк-
  27. торов. При этом конструктор производного класса может иметь свои
  28. собственные параметры.
  29. class Subclass : BaseClass {
  30. public Subclass(список параметров)
  31. : base(список параметров базового класса) {
  32. // сначала выполняется конструктор базового класса,
  33. // а потом все остальные операторы
  34. }
  35. }