Особенности объектно-ориентированного программирования

Public

Type

End.

Begin

Begin

Implementation

Var

Type

Interface

Begin

Begin

Implementation

Var

Public

Type

TFor1 = class (TForm)

Buttonl: TButton; // Эта секция обслуживается Delphi. Ее элементы доступны всем.

private // Эта секция доступна в модуле Unit1

FlntField: Integer;

Procedure SetValue(Value: Integer);

Function GetValue: Integer;

published // Эта секция доступна в любом модуле

Property IntField: read GetValue write SetValue;

Protected // Эта секция доступна классам-потомкам

Procedure Procl;

Procedure Proc2';

end;

Forml: TForml;

Procedure TForml.Procl;

Buttonl.Color:= clBtnFace; // Так можно

FIntField: = 0; // Так можно

IntField:= 0; // Так можно

Procl; // Так можно

Proc2; // Так можно

end;

Forml.Buttonl.Color:= clBtnFace; // Так можно

Forml.FlntField:= 0; // Так можно

Forml.IntField:= 0; // Так можно

Forml.Procl; // Так нельзя

Form1.Proc2; // Так можно

end;

Unit Unit2;

Uses Controls, Unitl;

TForm2 = class(TForm1)

Button2: TButton;

Procedure Button2Click(Sender: TObject);

end;

Form2: TForm2;

Procedure TForm2.Button2Click(Sender: TObject);

Buttonl.Color:= clBtnFace; // Так можно

FIntField: = 0; // Так нельзя

IntField:= 0; // Так можно

Procl; // Так можно

Proc2; // Так можно

end;

Forml.Buttonl.Color:= clBtnFace; // Так можно

Forml.FlntField:= 0; // Так нельзя

Forml.IntField:= 0; // Так можно

Forml.Procl; // Так нельзя

Forml.Proc2; // Так можно

При объявлении класса-потомка разрешается перемещать элементы класса из одной области видимости в другую. Для предыдущего примера допустимо такое объявление:

TForm2 = class (TForml)

...

procedure Procl;

...

end;

После этого в модуле Unit2 возможно следующее обращение: Form2.Procl;

После перемещения в секцию private элемент объявления становится неви­дим потомкам (если потомок, как это обычно бывает, объявляется в другом моду­ле) и, следовательно, его уже нельзя переместить в другую секцию.

Класс может объявляться только в интерфейсной части модуля или в самом начале области реализации, Нельзя определять классы в разделе описаний подпрограмм.

Язык Delphi реализует концепцию объектно-ориентированного программирова­ния (ООП). Это означает, что функциональность приложения определяется на­бором взаимосвязанных задач, каждая из которых становится самостоятельным объектом. У объекта есть свойства (т. е. характеристики, или атрибуты), методы, определяющие его поведение, и события, на которые он реагирует. Одним из наиболее важных понятий ООП является класс. Класс представляет собой даль­нейшее развитие концепции типа и объединяет в себе задание не только струк­туры и размера переменных, но и выполняемых над ними операций. Объекты в программе всегда являются, экземплярами того или иного класса (аналогично переменным определенного типа).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: