Учебно-методическое пособие для студентов и слушателей системы повышения



бет51/75
Дата16.03.2023
өлшемі1,62 Mb.
#74783
түріУчебно-методическое пособие
1   ...   47   48   49   50   51   52   53   54   ...   75
Байланысты:
word Programmirovanie na yazyke C

Computer comp = new Notebook( … );
Таким образом, методы, которые у потомков должны реализовываться по- разному, при описании базовых классов следует определять виртуальными. Ес- ли во всех классах иерархии метод будет выполняться одинаково, его лучше определить как обычный метод. Виртуальные методы базового класса задают поведение всей иерархии, которое может изменяться и дополняться в потомках за счет добавления новых виртуальных методов. С помощью виртуальных ме- тодов реализуется один из основных принципов ООП – полиморфизм.
Отметим, что элементы базового класса с модификатором private в классе- наследнике недоступны, для них следует использовать модификатор protected, а для самого базового класса public или internal.
Спроектируем класс Notebook, который имеет два поля model (модель) и ram (оперативная память), а также методы Start (включение) и End (выключение). Ранее мы уже создали класс Computer с такими полями и методами. Имеет смысл считать класс Notebook потомком класса Computer, который наследует эти поля и метод Start без изменения (при включении они работают одинаково). Особен- ность ноутбука – наличие батареи, которая может заряжаться и после выключения ноутбука. Поэтому в класс Notebook надо добавить поле time (требуемое время зарядки батареи) и переопределить метод End, чтобы он показывал это время.
Пример 1


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

  1. Откроем ранее созданный проект con241 с классами Program и Computer.

  2. С помощью визуального конструктора классов в том же пространстве имен в отдельном файле создадим класс Notebook.

  3. Для задания отношения наследник-предок на Панели элементов выбе- рем пункт Наследование и мышью с нажатой левой кнопкой протащим стрел- ку от прямоугольника класса Notebook до класса Computer (рис 2.7).

  4. С помощью окна Сведения о классах зададим поля и методы класса

Notebook в соответствии с рис. 2.7.

Рис. 2.7. Проектирование класса Notebook



  1. Введем в автоматически сгенерированные шаблоны элементов класса



Достарыңызбен бөлісу:
1   ...   47   48   49   50   51   52   53   54   ...   75




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет