Определить иерархию классов млекопитающие, парнокопытные, птицы, животное — C++ — Ответ 13467330
1. Определить иерархию классов млекопитающие, парнокопытные, птицы, животное.
Для определения иерархии классов связать отношением наследования классы, приведенные в приложении (для заданного варианта). Из перечисленных классов выбрать один, который будет стоять во главе иерархии. Это абстрактный класс.
2. Реализовать классы. Определить в классах все необходимые get и set методы. Компонентные данные класса специфицировать как private.
3. Описать шаблон класса Узел(Node), данные которого указатель на объект класса и указатель на следующий узел.
4. Реализовать класс Список(List), данные которого — указатель на узел — начало списка.
5. Написать демонстрационную программу, в которой создаются объекты различных классов и помещаются в список.
6. Программа содержит меню, которое по желанию пользователя позволяет добавить элемент в список, удалить элемент из списка и вывести список на экран.
7. *Определение классов, их реализацию, демонстрационную программу поместить в отдельные файлы.
Иерархия классов, наследование (Млекопитающие, Парнокопытные, Птицы, Животное)
нужно создать иерархию класcов с механизмом наследования написать код я хочу написать сам , но.
Создать иерархию классов Птицы
В состав диаграммы классов входят: абстрактный базовый класс Bird (птица), дочерние классы Eagle.
Разработать иерархию классов: Животное, Кошка, Собака
1. Разработать иерархию классов: Животное, Кошка, Собака. Разработать конструкторы и методы работы.
Определить иерархию классов
Порядок выполнения работы. 1.Определить иерархию классов (в соответствии с вариантом). .
Определить иерархию классов
рабочий, кадры, инженер, администрация Для определения иерархии классов связать отношением.
Определить иерархию классов для геометрических фигур
Самого доброго всем времени суток! Помогите пожалуйста сделать задание 🙂 Я буду вечно вам.
Определить иерархию классов точка, квадрат, пирамида, связанных отношением наследования
Определить иерархию классов точка, квадрат, пирамида, связанных отношением наследования. Определить.
Разработать иерархию классов, демонстрирующее работу с коллекцией объектов разных классов
Задание: Разработать в соответствии с индивидуальным заданием иерархию классов и приложение.
Источник
тюмгу / Nastiny_laby / Настя8лаба / Lab8_ЯП_2017_2С
Лабораторная работа №8. Программирование полиморфных методов. 1 Цель и порядок работы Цель работы – Познакомиться с программированием полиморфных методов при объектно-ориентированном подходе при использовании языка C#. Порядок выполнения работы: ознакомиться с описанием лабораторной работы; получить задание у преподавателя, согласно своему варианту; написать программу и отладить ее на ЭВМ. 2 Краткая теория 2.1 Полиморфизм Полиморфизм – одна из основных составляющих объектно-ориентированного программирования, позволяющая определять в наследуемом классе методы, которые будут общими для всех наследующих классов, при этом наследующий класс может определять специфическую реализацию некоторых или всех этих методов. Главный принцип полиморфизма: «один интерфейс, несколько методов». Благодаря ему, можно пользоваться методами, не обладая точными знаниями о типе объектов. Основным инструментом для реализации принципа полиморфизма является использование виртуальных методы и абстрактных классов. 2.2 Виртуальные методы Метод, при определении которого в наследуемом классе было указано ключевое слово virtual , и который был переопределен в одном или более наследующих классах, называется виртуальным методом. Следовательно, каждый наследующий класс может иметь собственную версию виртуального метода. Выбор версии виртуального метода, которую требуется вызвать, осуществляется в соответствии с типом объекта, на который ссылается ссылочная переменная, во время выполнения программы. Другими словами, именно тип объекта, на который указывает ссылка (а не тип ссылочной переменной), определяет вызываемую версию виртуального метода. Таким образом, если класс содержит виртуальный метод и от этого класса были наследованы другие классы, в которых определены свои версии метода, при ссылке переменной типа наследуемого класса на различные типы объектов вызываются различные версии виртуального метода.
При определении виртуального метода в составе наследуемого класса перед типом возвращаемого значения указывается ключевое слово virtual , а при переопределении виртуального метода в наследующем классе используется модификатор override . Виртуальный метод не может быть определен с модификатором static или abstract . Переопределять виртуальный метод не обязательно. Если наследующий класс не предоставляет собственную версию виртуального метода, то используется метод наследуемого класса. Переопределение метода положено в основу концепции динамического выбора вызываемого метода — выбора вызываемого переопределенного метода осуществляется во время выполнения программы, а не во время компиляции. Синтаксис: virtual тип имя ( список_параметров )< тело_метода >; 2.3 Абстрактные классы В абстрактном классе определяются лишь общие предназначения методов, которые должны быть реализованы в наследующих классах, но сам по себе этот класс не реализует один, или несколько подобных методов, называемых абстрактными (для них определены только некоторые характеристики, такие как тип возвращаемого значения, имя и список параметров). При объявлении абстрактного метода используется модификатор abstract . Абстрактный метод автоматически становится виртуальным, так что модификатор virtual при объявлении метода не используется. Абстрактный класс предназначен только для создания иерархии классов, нельзя создать объект абстрактного класса. Пример: abstract class Animal < public string Name; protected int Weight; private int Type; abstract void Feed(); public int Animal( int W, int T, string N) < Weight=W; Type=T; Name=N; >public int GetWeight()
< return Weight; >> class Predator:Animal < private int Speed; override void Feed( int Food) < Weight += Food; >> 3 Контрольные вопросы 1) Что понимается под термином «полиморфизм»? 2) В чем состоит основной принцип полиморфизма? 3) В чем состоит значение основного принципа полиморфизма? 4) Какие механизмы используются в языке C# для реализации концепции полиморфизма? 5) Что понимается под термином «виртуальный метод»? 6) Какое ключевое слово языка C# используется для определения виртуального метода? 7) В чем состоит особенность виртуальных методов в производных (дочерних) классах? 8) В какой момент трансляции программы осуществляется выбор версии виртуального метода? 9) Какие условия определяют выбор версии виртуального метода? 10) Какое ключевое слово (модификатор) языка C# используется для определения виртуального метода в базовом (родительском) классе? 11) Какое ключевое слово (модификатор) языка C# используется для определения виртуального метода в производном (дочернем) классе? 12) Какие модификаторы недопустимы для определения виртуальных методов? 13) Что означает термин «переопределенный метод»? 14) В какой момент трансляции программы осуществляется выбор вызываемого переопределенного метода? 15) Приведите синтаксис виртуального метода в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 16) Что понимается под термином «абстрактный класс»? 17) В чем заключаются особенности абстрактных классов? 18) Какой модификатор языка C# используется при объявлении абстрактных методов? 19) Являются ли абстрактные методы виртуальными? 20) Используется ли модификатор virtual языка C# при объявлении абстрактных методов? 21) Возможно ли создание иерархии классов посредством абстрактного класса? 22) Возможно ли создание объектов абстрактного класса?
23) Приведите синтаксис абстрактного класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 4 Задание 1. Реализовать иерархию классов с использованием абстрактного класса в качестве основы иерархии. Разработать поля, методы и свойства для каждого из определяемых классов. Все поля классов должны быть описаны с ключевым словом private. 2. Показать на примере одного из методов, присутствующих в каждом классе, свойство полиморфизма. 3. Отладить и протестировать программу. 4. Варианты заданий определяются согласно списка студентов в группе. 5 Варианты заданий Построить иерархию классов в соответствии с вариантом задания: 1. Журнал, книга, печатное издание, учебник. 2. Тест, экзамен, выпускной экзамен, испытание. 3. Место, область, город, мегаполис. 4. Игрушка, продукт, товар, молочный продукт. 5. Студент, преподаватель, персона, заведующий кафедрой. 6. Служащий, персона, рабочий, инженер. 7. Рабочий, кадры, инженер, администрация. 8. Статья, раздел, журнал, издательство. 9. Квартира, дом, улица, населенный пункт. 10. Деталь, механизм, изделие, узел. 11. Организация, страховая компания, нефтегазовая компания, завод. 12. Квитанция, накладная, документ, счет. 13. Корабль, пароход, парусник, корвет. 14. Самолет, автомобиль, корабль, транспортное средство. 15. Точка, линия, фигура плоская, фигура объемная. 16. Картина, рисунок, репродукция, пейзаж. 17. Автомобиль, поезд, транспортное средство, экспресс. 18. Двигатель, двигатель внутреннего сгорания, дизель, реактивный двигатель. 19. Республика, монархия, королевство, государство. 20. Млекопитающее, парнокопытное, птица, животное.
Источник