Объектно-ориентированное программирование
Лекция, 12 Марта 2014, автор: пользователь скрыл имя
Краткое описание
Цель полиморфизма - использование одного имени для задания общих для класса действий. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющие разную алгоритмическую основу. Концепция полиморфизма - идея «один интерфейс - множество методов». Полиморфизм позволяет манипулировать объектами различной степени сложности путем создания общего для них стандартного интерфейса для реализации похожих действий.
Пример 1. Объявление класса в программе. Постановка задачи
Пример 1. Объявление класса в программе. Программная реализация
Вложенные файлы: 1 файл
Объектно-ориентированное программирование.ppt
— 398.50 Кб (Скачать файл)
- type
- < имя класса > = class(< имя класса-родителя >)
- public
- < описание общедоступных элементов >
- published
- < описание элементов, доступных в Инспекторе Объектов >
- protected
- < описание элементов, доступных в классах-потомках >
- private
- < описание элементов, доступных только в модуле >
- end;
21
Пример описания класса
TControl = class(TComponent)
private
FOnDblClick: TNotifyEvent;
FOnHouseDown: TMouseEvent;
FOnHouseHove: TMouseMoveEvent;
protected
property OnDblClick: TNotifyEvent read FOnDblClick write FOnDblClick;
property OnMouseDown: TMouseEvent read FOnMouseDown write FOnMouseDown;
property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
end;
22
Пример описания класса
type
TStudent = class
FAge : integer;
function GetAge : integer;
procedure SetAge(Value : integer);
property Age : integer read GetAge write SetAge;
end;
23
Пример 1. Объявление класса в программе. Постановка задачи
Пусть необходимо создать класс
- Будем хранить о человеке следующие данные:
фио, рост в cм, вес в кг.
- Для работы с этими данными предусмотрим следующие методы:
- методы инициализации полей (названия таких методов имеют префикс Set); назначение этих методов - присваивать новые значения полям класса; новые значения полей будут предаваться через параметры функций-методов;
- метод, позволяющий получить информацию о текущем состоянии объекта (значении всех его полей).
24
Пример 1. Объявление класса в программе. Программная реализация
#include <stdio.h>
#include <string.h>
//описание структуры класса
class TPerson
{
private:
char fname[15];
int frost;
float fwes;
public:
char * Show() ;
void SetName (char* value);
void SetRost (int value);
void SetWes (float value);
} ;
25
Пример 1. Объявление класса в программе. Реализация методов класса
//реализация методов класса
char* TPerson::Show()
{static char S[100];
sprintf (S,"Это %s; его рост - %d см, вес - %3.2f кг", fname, frost, fwes);
return S; }
void TPerson::SetName(char* value)
{ strcpy(fname,value);
return; }
void TPerson::SetRost(int value)
{ frost=value;
return; }
void TPerson::SetWes(float value)
{ fwes=value;
return; }
26
4