Полиморфизм. Статический и динамический полиморфизм. Виртуальные методы и механизм их вызова. Сокрытие имен

Формирование умений и навыков в реализации принципа полиморфизма с использованием виртуальных методов и переопределения их в производных классах. Порядок изменения программы через создание абстрактного базового класса и множественного наследования.

Рубрика Программирование, компьютеры и кибернетика
Вид практическая работа
Язык русский
Дата добавления 25.06.2022
Размер файла 27,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования Республики Беларусь

Учреждение образования «Белорусский государственный университет информатики радиоэлектроники»

Филиал «Минский радиотехнический колледж»

Отчет

по выполнению практической работы

«Полиморфизм. Статический и динамический полиморфизм. Виртуальные методы и механизм их вызова. Сокрытие имен»

Минск

2022

Цель работы: Формирование умений и навыков в реализации принципа полиморфизма с использованием виртуальных методов и переопределения их в производных классах.

Задание: Изменить программу, создав абстрактный базовый класс и множественное наследование (либо иерархия классов) и реализовать в нем:

- конструктор,

- деструктор,

- виртуальную функцию просмотра текущего состояния объекта print().

Производные классы должны содержать переопределенную функцию просмотра состояния объектов.

Результат выполнения работы:

public abstract class Father

{

protected Father()

{

}

~Father()

{

}

public virtual void Print()

{

Console. WriteLine («Hello»);

}

}

public class Doter: Father

{

public override void Print()

{

Console. WriteLine («Nihao»);

}

}

class Sun: Father

{

public override void Print()

{

Console. WriteLine («Ququ»);

}

}

public static class Program

{

public static void Main()

{

Father doter = new Doter();

doter. Print();

}

}

public static class Program

{

public static void Main()

{

Father doter = new Doter();

doter. Print();

Father sun = new Sun();

sun. Print();

}

}

полиморфизм программа виртуальный

Рисунок 1. Результат работы программы

Контрольные вопросы и задания

1. Поясните принцип работы статического полиморфизма.

Механизм связывания функции с объектом во время компиляции называется ранним связыванием. Он также называется статическое связывание. C# использует два механизма для реализации статического полиморфизма. Это:

- перегрузка методов;

- перегрузка операторов.

2. Поясните принцип работы динамического полиморфизма.

C# позволяет создавать абстрактные классы, которые используются для обеспечения частичной реализации интерфейса. Реализация завершается, когда производный класс наследует от него. Абстрактные классы содержат абстрактные методы, которые осуществляются в производном классе. Производные классы имеют более специализированные функциональные возможности.

3. Для чего используют запрет переопределения методов?

В языке C# введено ключевое слово sealed, которое используется в двух случаях:

- когда нужно запретить наследование от некоторого класса. В многих иерархиях, классы, которые размещены на нижних уровнях могут быть обозначены как sealed;

- когда нужно запретить переопределение некоторого метода в иерархии классов. Эта ситуация возможна, если в иерархии классов методы унаследованных классов переопределяют виртуальные методы базовых классов.

4. Для чего используют запрет переопределения свойств и в каких случаях?

В языке C# введено ключевое слово sealed, которое используется в двух случаях:

- когда нужно запретить наследование от некоторого класса. В многих иерархиях, классы, которые размещены на нижних уровнях могут быть обозначены как sealed;

- когда нужно запретить переопределение некоторого метода в иерархии классов. Эта ситуация возможна, если в иерархии классов методы унаследованных классов переопределяют виртуальные методы базовых классов.

Размещено на Allbest.ru

...

Подобные документы

  • Изображение класса на диаграмме UML. Инкапсуляция как средство защиты его внутренних объектов. Использование принципа полиморфизма для реализации механизма интерфейсов. Создание новых классов путем наследования. Ассоциация как вид отношений между ними.

    лекция [516,6 K], добавлен 03.12.2013

  • Свойства объектно-ориентированного языка программирования. Понятия инкапсуляции и наследования. Виртуальные функции и полиморфизм. Инициализация экземпляра объекта с помощью конструктора. Динамическое создание объектов. Совместимость объектных типов.

    реферат [17,0 K], добавлен 15.04.2015

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Переопределение метода внутри одного класса. Сущность перегрузки унаследованного метода. Области применения абстрактного класса. Перегрузка унарных и бинарных операций. Области видимости локальных и глобальных переменных. Способы обращения к ним.

    презентация [81,2 K], добавлен 09.12.2013

  • Понятие перегрузки (доопределения) операций и её разновидности. Пример соответствующей программы перегрузки, понятие полиморфизма и правила isA. Использование классов операторов в программах языка С++, конструкций операторов и производных классов.

    реферат [19,9 K], добавлен 30.10.2011

  • Виртуальные функции, статические и абстрактные классы, шаблоны: элементы и члены класса, их роль в объектно-ориентированном программировании; механизм осуществления виртуального вызова при выполнении программы; обработка исключительных ситуаций в C++.

    реферат [27,2 K], добавлен 06.12.2010

  • Характеристика интерфейса в Java, возможность его расширения с использованием механизма наследования. Организация обратного вызова в Java. Сущность внутреннего класса. Обращение из внутреннего класса к элементам внешнего класса и листинг программы.

    методичка [90,8 K], добавлен 30.06.2009

  • Ведение личных финансов, покупки и управление банковским счетом через интернет. Понятие и сущность виртуальных денег, их назначение. Принципы работы виртуальных денег. Электронная коммерция через интернет. Виды российской системы электронной коммерции.

    реферат [26,9 K], добавлен 27.02.2009

  • Изучение принципов объектно-ориентированного программирования. Понятие класса в Delphi, в основе которых лежат три фундаментальные принципы - инкапсуляция, наследование и полиморфизм. Разработка классов транспортных средств и структур классов (кошки).

    курсовая работа [29,7 K], добавлен 29.10.2011

  • Реализация множественного наследования в области учета транспортных средств. Принцип работы приложения в текстовой форме, его структура. Таблица свойств объектов и идентификаторов. UML-диаграмма. Описание программы на примере с представлением экранных.

    курсовая работа [557,4 K], добавлен 05.11.2016

  • Сущность и история развития объектно-ориентированного программирования. Наследование как важнейшее свойство объекта. Экземпляры объектных типов. Поля объектов, методы, полиморфизм. Производительность объектных программ. Пример программного продукта.

    курсовая работа [33,3 K], добавлен 25.03.2012

  • Разработка интерфейса для объединения в структуру данных множества объектов различных классов (абстрактный базовый класс TObject). Создание таблиц (коллекций) объектов с помощью механизма объектно-ориентированного программирования - полиморфизма.

    курсовая работа [175,7 K], добавлен 06.08.2013

  • Понятие виртуального магазина. Преимущества и недостатки виртуальных магазинов. Классификация виртуальных магазинов. Организация деятельности виртуальных магазинов. Создание виртуальных магазинов. Способы оплаты в Интернет. Процессинговая система.

    курсовая работа [72,0 K], добавлен 30.09.2007

  • Разработка исходного XML-документа, который будет содержать данные варианта. Разработка таблицы стилей XSLT для преобразования исходного XML-документа исходного XML-документ с заданной структурой. Анализ базового класса, содержащего виртуальные методы.

    курсовая работа [1,3 M], добавлен 01.05.2019

  • Виртуальная функция как метод класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения. Порядок разработки программы обработки массивов, работы со строками.

    контрольная работа [847,3 K], добавлен 19.03.2012

  • Что такое класс в объектно-ориентированном программировании. Какую структуру имеет модуль в С++. Какими средствами осуществляется консольный ввод данных в языке Си, С++. Инкапсуляция, полиморфизм, наследование. Использование библиотеки "".

    контрольная работа [1,9 M], добавлен 13.11.2016

  • Основы объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм и абстракция. Объектно-ориентированный принцип разработки системы учета абонементной платы за пользование кабельным телевидением. Методы для работы с данными.

    курсовая работа [2,7 M], добавлен 04.05.2013

  • Сущность основных понятий объектно-ориентированного программирования: объект, класс, полиморфизм. Блок-схема алгоритма и текст программы для вычисления площади круга, прямоугольника и трапеции. Принцип работы и результаты тестирования приложения.

    курсовая работа [588,7 K], добавлен 17.07.2012

  • Разработка графического интерфейса для ввода начальных значений, отображения результатов и тестирования методов собственного класса на языке программирования С++. Подсветка цветом выбранных операндов в процессе их инициализации и вывода на дисплей.

    курсовая работа [234,6 K], добавлен 27.12.2014

  • Понятия выставки, экспозиции и виртуальности. Их представительства в сети. Виртуальные выставки на службе экспобизнеса. Особенности их организаций. Техническая реализация виртуальных экспозиций. Примеры существующих виртуальных музеев в Интернет.

    реферат [60,1 K], добавлен 25.11.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.