Обекти в езика за програмиране 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. се повтаря пълните декларации, които описват и действията, които се извършват от декларираните във файла процедури и функции.

 

Copyright CC BY-ND 4.0.
Посещения на страницата: общо 720 днес 0
Направено с MyCMS.