Книга: Описание языка PascalABC.NET
Абстрактные методы
Абстрактные методы
Методы, предназначенные для переопределения в подклассах, объявляются с ключевым словом abstract и называются абстрактными. Данные методы являются виртуальными, но ключевое слово virtual использовать не нужно. Например:
type
Shape = class
private
x,y: integer;
public
constructor Create(xx,yy: integer);
begin
x := xx;
y := yy;
end;
procedure Draw; abstract;
end;
Классы, содержащие абстрактные методы, также называются абстрактными. Экземпляры этих классов создавать нельзя.
Классы с абстрактными методами используются как полуфабрикаты для создания других классов. Например:
type
Point = class(Shape)
public
procedure Draw; override;
begin
PitPixel(x,y,Color.Black);
end;
end;
Использование override при переопределении абстрактных методов обязательно, поскольку абстрактные методы являются разновидностью виртуальных.
- Обзор классов и объектов
- Видимость членов класса и модификаторы доступа
- Методы
- Инициализаторы полей
- Конструкторы
- Предварительное объявление классов
- Переменная Self
- Свойства
- Индексные свойства
- Наследование
- Переопределение методов
- Наследование конструкторов
- Виртуальные методы и полиморфизм
- Абстрактные методы
- Перегрузка операций
- Классовые поля, методы и конструкторы
- Методы расширения
- Анонимные классы
- Автоклассы
- 9.7.4. Иерархии классов и абстрактные классы
- 7.16. Абстрактные классы
- Абстрактные базы как двоичные интерфейсы
- Лекция 6. Абстрактные типы данных (АТД)
- Абстрактные типы данных и скрытие информации
- Абстрактные предусловия
- Абстрактные имена типов
- 5.17 АБСТРАКТНЫЕ ОБРАЩЕНИЯ К ФАЙЛОВЫМ СИСТЕМАМ
- Принудительный полиморфизм: абстрактные методы
- 44 Абстрактные объекты
- Интерфейсы и абстрактные поставщики данных
- Абстрактные классы