Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
Серцева астма та набряк легеньДата добавления: 2015-03-11; просмотров: 752
Объектно-ориентированное программирование – это методология про-граммирования, основанная на представлении программы в виде совокуп-ности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Объект – это нечто, имеющее четко определенные границы. Однако, этого недостаточно, чтобы отделить один объект от другого или дать оценку качества абстракции. Объект обладает состоянием, поведением и идентич-ностью; структура и поведение схожих объектов определяет общий для них класс; термины «экземпляр класса» и «объект» взаимозаменяемы.
Класс – это множество объектов, обладающих общей структурой, пове-дением и семантикой. Отдельный объект – это экземпляр класса. Класс представляет лишь абстракцию существенных свойств объекта.
Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данного объекта и текущими (обычно динамическими) значе-ниями каждого из этих свойств. Например: торговый автомат имеет свой-
ство: способность принимать монеты; этому свойству соответствует дина-мическое значение – количество принятых монет. Пример описания состо-яния объекта:
struct PersonnelRecord { char name[100];
int socialSecurityNumber; char department[10]; float salary; };
Поведение объекта – это то, как объект действует и реагирует; поведение выражается в терминах состояния объекта и передачи сообщений. Опера-цией называется определенное воздействие одного объекта на другой с це-лью вызвать соответствующую реакцию. Например, клиент может активи-зировать операции append() и pop() для того, чтобы управлять объектом-очередью:
class Queue { public:
Queue();
Queue(const Queue&); virtual ~Queue();
virtual Queue& operator=(const Queue&); virtual int operator==(const Queue&) const; int operator!=(const Queue&) const;
virtual void clear();
virtual void append(const void*); virtual void remove(int at); virtual int length() const; virtual int isEmpty() const; ...
};
Индивидуальность объекта – это такое свойство объекта, которое отли-чает его от всех других объектов. В большинстве языков программирования при создании объект именуется, поэтому многие путают адресуемость и ин-дивидуальность. Невозможность отличить имя объекта от самого объекта является источником множества ошибок в ООП.
|