Классы – это типы специального вида, которые содержат поля, методы и свойства.
Классы, как и любые другие типы, служат образцами для создания конкретных экземпляров.
· Объявление класса
Конкретные экземпляры класса называются объектами.
Type
TmyCl=class(Tobject)
Fint:integer;
Fstr:string;
Function Func1(a:real):integer; Procedure Proc1;
End;
Var
MyClass:TmyCl;
FunctionTmyCl.Func1(a:real):integer;
Beginresult:=a* Fint ; end;
ProcedureTmyCl.Proc1;
Begin …; end;
Begin
MyClass:=TmyCl.create;
MyClass.Fint:=10;
MyClass.Proc1;
MyClass.Free;
End.
· ПРИНЦИПЫ ООП.
В основе классовой борьбы лежат три фундаментальных принципа:
- инкапсуляция
- наследование
- полиморфизм.
Инкапсуляция – это объединение в одно целое трех сущностей: полей, методов и свойств.
Поля методы и свойства называются членами классов.
Как мы увидим в дальнейшем, инкапсуляция позволяет создавать обособленные самодостаточные объекты. Выполнение программы представляет обмен сообщениями между объектами.
Наследование. Любой класс может быть порожден от другого класса. Порожденный класс автоматически наследует все члены родителя, но может и пополнять их.
Все классы OBJECT PASCAL являются потомками класса TОbject. Наследование приводит к тому, что создается дерево классов, разрастающееся по мере удаления от потомка.
Программисты создавая новые классы, на основе старых не вникают в подробности программного кода старых. Значительно возрастает преемственность кода.
Полиморфизм – это возможность в классах потомках переопределять (перекрывать) методы родителей.
Поведенческие свойства класса определяются набором методов входящих в класс, изменяя тот или иной метод в потомке, мы изменяем в нем свойства родителя, хотя имя метода остается прежним.
· ИНКАПСУЛЯЦИЯ Инкапсуляция – это объединение в одно целое трех сущностей: полей, методов и свойств (членов класса).
Поля – это данные.
Методы – это процедуры, обрабатывающие данные.
Свойства – это механизм доступа к данным.
Инкапсуляция позволяет изолировать класс от остальных частей программы, сделать его самодостаточным для решения конкретной задачи.
Инкапсуляция предполагает разграничение доступа разработчиков разного уровня к различным членам класса.(если ты разрабатываешь класс, то тебе доступны все члены класса, если ты используешь класс, то только те, которые определят поведение класса)