/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
InstallerSamples/!MainFeatures/06_Classes/Interf.pas
43 строки
863 B
Mikhalkovich Stanislav
Поправил старые примеры 2
12 окт 2025, 22:21
12 окт 2025, 22:21
d6a70ee
Код
Авторство
О чём код?
// Иллюстрация использования интерфейсов type IShape = interface procedure Draw; property X: integer read; property Y: integer read; end; ICloneable = interface function Clone: Object; end; Point = class(IShape,ICloneable) private xx,yy: integer; public constructor Create(x,y: integer); begin xx := x; yy := y; end; procedure Draw; begin end; property X: integer read xx; property Y: integer read yy; function Clone: Object; begin Result := new Point(xx,yy); end; end; begin var p: Point := new Point(2,3); var ish: IShape := p; var icl: ICloneable := p; Println(ish.X,ish.Y); var p1: Point := Point(icl.Clone); p := nil; Println(p1.X,p1.Y); Println(ish is Point); Println(ish is ICloneable); // Cross cast! end.