Практика по абстрактным классам в Dart
Сделайте абстрактный класс Figure,
представляющий собой геометрическую
фигуру. Пусть от него наследует классы
Circle, Rectangle
и Square.
В классе Figure сделайте абстрактные
методы для получения площади и периметра
фигуры. Напишите реализацию этих методов
в классах Circle, Rectangle
и Square.
В классе Figure сделайте абстрактные
геттеры area и perimeter
вместо методов. Напишите реализацию этих
геттеров в классах Circle,
Rectangle и Square.
Сделайте абстрактный класс Post.
Пусть у него будет поле title, а также
методы getTitle и setTitle
для него. Сделайте классы Employee
и Note, наследующие от класса Post.
Добавьте в ваш класс Post такой же
абстрактный метод increaseRevenue.
Напишите реализацию этого метода в классах
Employee и Note.
Добавьте в класс Post метод showTitle
с реализацией. Создайте объекты классов
Employee и Note, задайте
им заголовок и вызовите у них метод
showTitle.
Сделайте абстрактный класс Post
с конструктором, принимающим заголовок записи.
Сделайте класс Employee с конструктором,
принимающим заголовок и зарплату, и класс
Note с конструктором, принимающим
заголовок и число лайков. Передавайте заголовок
в конструктор родительского класса.
Создайте по одному объекту классов
Employee и Note.
Вызовите у них метод increaseRevenue
и выведите на экран итоговую зарплату
работника и итоговое число лайков записи.
Сделайте абстрактный класс Document
с абстрактным методом render.
Сделайте классы PdfDocument
и HtmlDocument, наследующие от
Document. Пусть каждый из них
возвращает из метода render
свою строку.
Добавьте в класс Document общий
метод title, возвращающий заголовок
документа. Сделайте абстрактный геттер
formatName и реализуйте его
в каждом наследнике.