Обекти в езика за програмиране Free Pascal

Страницата е създадена на:30 януари 2019 и редактирана на:15 септември 2020

Обектите в програмирането са средство за моделиране на предмети от реалния или въображаемия свят. Обектите имат свойства и могат да изпълняват действия.

Свойства и методи

В програмирането свойствата на обектите, могат да бъдат променливи от заложените в езика типове или обекти. Действията, които могат да извършват обектите се наричат методи и могат да бъдат процедури или функции.

Всеки обект спада към определен тип обекти. Типът на обекти определя какви свойства и методи имат обектите. Прието е типовете обекти да се означават с идентификатори, започващи с главна буква T, например: TLabel, TEdit, TForm. Свойствата и методите на обектите от даден тип също се обозначават с идентификатори. Например: обектите от тип TForm могат да имат свойства, като: Caption, Height, Width, Name.

За да използваме определен тип обекти в програма, трябва да декларираме една или повече променливи от съответния тип, например:

var Form1:TForm;

Тази променлива заема предназначена за нея част от паметта на компютъра, и се нарича екземпляр (инстанция) на обект от зададения тип. С думата обект, най-често се нарича именно екземпляр на обект. Когато трябва да използваме, например, свойството Caption на обекта Form1, пишем: Form1.Caption.

Наследяване

Наследяването означава, че нов тип обекти може да се създаде на базата на съществуващ тип обекти. Новият тип се нарича тип наследник, а съществуващият тип се нарича родителски тип или просто родител на новия тип. Типът наследник получава свойствата и методите на родителския си тип.

Декларациите на нови типове обекти обикновено се поставят преди декларациите на процедурите и функциите, в които ще се използват, предхождани от служебната дума type. Най-проста декларация на нов тип обекти, може да изглежда така:

type
TForm1 = class(TForm)
end; 

В този пример се декларира нов тип TForm1, който е наследник на типа TForm.

Между първият ред на декларацията на типа и думата end; се записват декларации на свойства и методи, които трябва да има декларирания тип. Например:

TForm1 = class(TForm)
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
end;

Установена практика

е за декларирането на всеки нов тип обекти, да се използва отделен модул, заемащ отделен файл. Декларациите, които следва да са достъпни извън този модул, се декларират между служебните думи interface и implementation. Тези декларации са непълни, те съдържат само информация, необходима за ползване на декларираните в модула променливи, типове и обекти. В частта на файла на модула, между думите implementation и end. се повтаря пълните декларации, които описват и действията, които се извършват от декларираните във файла процедури и функции.

 

Направено с MyCMS. Copyright CC BY-ND 4.0.