Главная страница
Навигация по странице:

  • Инкапсуляция

  • Виртуальный метод

  • Задание: Создать класс Прямоугольник (Rectangle)

  • СПАСИБО ЗА ВНИМАНИЕ!

  • Презентация _Полиморфизм. Виртуальные методы_. Полиморфизм. Виртуальные методы Преподаватель Гаджимагомедова С. Р


    Скачать 124.85 Kb.
    НазваниеПолиморфизм. Виртуальные методы Преподаватель Гаджимагомедова С. Р
    Дата21.02.2023
    Размер124.85 Kb.
    Формат файлаpptx
    Имя файлаПрезентация _Полиморфизм. Виртуальные методы_.pptx
    ТипДокументы
    #948097

    Тема: Полиморфизм. Виртуальные методы

    Преподаватель: Гаджимагомедова С.Р.

    Принципы ООП

    • Наследование – это возможность создавать новые (производные) классы на основе уже существующих (базовых).
    • Инкапсуляция -это механизм сокрытия внутренней структуры объекта и предоставление доступа к нему через интерфейсы.
    • Полиморфизм – это возможность у методов с одинаковыми именами иметь различную реализацию.

    Виртуальный метод

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

    Виртуальный метод

    • Виртуальный метод объявляется в базовом классе при помощи ключевого слова virtual:
    • [модификаторы] virtual [тип] [имя метода] ([аргументы])

      {

      // тело метода

      }

    • Статический метод не может быть виртуальным.

    Объявление переопределенного метода

    [модификаторы] override [тип] [имя метода] ([аргументы])

    {

    // новое тело метода }

    Пример:

    // создаем базовый класс Фигура

    class Shape

    {

    // создаем виртуальный метод Draw

    public virtual void Draw()

    {

    Console.WriteLine("Рисуем базовый объект");

    }

    }

    // создаем производный класс Окружность

    class Circle: Shape

    {

    public override void Draw()

    { // переопределяем метод Draw

    Console.WriteLine("Рисуем Окружность");

    }

    }

     Задание: Создать класс Прямоугольник (Rectangle)

    Пример (продолжение)

    // Создание объектов и вызов метода Draw()

    class Program

    {

    static void Main(string[] args)

    {

    Shape c = new Circle();

    c.Draw();

    Shape r = new Rectangle();

    r.Draw();

    Console.ReadKey();

    }

    }

    ВЫЗОВ БАЗОВОГО МЕТОДА

    • Базовый метод можно вызывать из производного при помощи ключевого слова base. Например, в классе Circle добавим:
    • public override void Draw()

      {

      base.Draw();

      }

      Задание: добавить вызов базового метода Draw() в переопределенном методе класса Rectangle

    ВОПРОСЫ:

    • Дайте определение понятию «полиморфизм»?
    • Какой метод называют виртуальным? C помощью какого ключевого слова объявляется виртуальный метод?
    • Какой метод называют переопределенным? C помощью какого ключевого слова переопределенный метод объявляется?
    • Каким образом в производном классе можно вызвать метод базового класса?

    СПАСИБО ЗА ВНИМАНИЕ!



    написать администратору сайта