Обекти в езика за програмиране Free Pascal
Страницата е създадена на:30 януари 2019 и редактирана на:27 юли 2021
Обектите в програмирането са средство за моделиране на предмети от реалния или въображаемия свят. Обектите имат свойства и могат да изпълняват действия.
Свойства и методи
В програмирането свойствата на обектите, могат да бъдат променливи от заложените в езика типове или обекти. Действията, които могат да извършват обектите се наричат методи и могат да бъдат процедури или функции.
Всеки обект спада към определен тип обекти. Типът на обектите определя какви свойства и методи имат обектите. Прието е типовете обекти да се означават с идентификатори, започващи с главна буква T
, например: TLabel
, TEdit
, TForm
. Свойствата и методите на обектите от даден тип също се обозначават с идентификатори. Например: обектите от тип TForm имат свойства, означавани с идентификатори: Caption
, Height
, Width
, Name
.
За да използваме определен тип обекти в програма, трябва да декларираме една или повече променливи от съответния тип, например:
var Form1:TForm;
Тази променлива Form1
заема предназначена за нея част от паметта на компютъра, и се нарича екземпляр (инстанция) на обект от зададения тип Form
. С думата обект, най-често се нарича именно даден екземпляр.
Когато трябва да използваме, например, свойството Caption
на обекта Form1
, пишем: Form1.Caption
.
Наследяване
Наследяването означава, че нов тип обекти може да се създаде на базата на съществуващ тип обекти. Новият тип се нарича тип наследник, а съществуващият тип се нарича родителски тип или просто родител на новия тип. Типът наследник получава свойствата и методите на родителския си тип.
Декларациите на нови типове обекти обикновено се поставят преди декларациите на процедурите и функциите, в които ще се използват, предхождани от служебната дума type
. Най-проста декларация на нов тип обекти, може да изглежда така:
type
TForm1 = class(TForm)
end;
В този пример се декларира нов тип TForm1, който е наследник на типа TForm.
Между първият ред на декларацията на типа и думата end; се записват декларации на свойства и методи, които трябва да има декларирания тип. Например:
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
е декларация, която добавя към типа TForm1
свойство с име Button1
от тип TButton
и метод (процедура) с име Button1Click
.
Установена практика
е за декларирането на всеки нов тип обекти, да се използва отделен модул, заемащ отделен файл. Декларациите, които следва да са достъпни извън този модул, се декларират между служебните думи interface
и implementation
. Тези декларации са непълни, те съдържат само информация, необходима за ползване на декларираните в модула променливи, типове и обекти. В частта на файла на модула, между думите implementation
и end.
се повтаря пълните декларации, които описват и действията, които се извършват от декларираните във файла процедури и функции.
Предишна страница: Изрази
Следваща страница: Език за програмиране Python