Идеи ооп: инкапсуляция и наследование.

Основные концепции.

Значение – это конечное обозначение, которое мы можем рассматривать как ответ или результат вычисления. Каждое значение имеет соответствующий тип. Мы можем рассматривать типы как наборы подобных значений.

Переменная – это сущность, имеющая имя, ячейка памяти, которая имеет специфическое значение и хранит его неизменным во время выполнения программы, пока она не получит другое значение.

Обычные программы состояли из переменных и инструкций для компьютера, чтобы ими управлять.

Реальный объект – это специфическая сущность, которую мы можем видеть, чувствовать или воспринимать любым другим образом и отличать от других объектов.

Моделируя реальный мир с помощью компьютерной программы, мы приходим к понятию компьютерного объекта (или просто объекта). Объект – это специфическая компьютерная сущность, которая существует в компьютерной памяти и может описывать реальный объект.

Моделирование – процесс создания модели чего-то; означает выделение важных значащих свойств, характеристик и отбрасывание всех неважных. Это отбрасывание называется абстрагированием.

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

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

Если и свойства, и их значения двух объектов одинаковы, то эти объекты неразличимы.

Так же, как каждое значение принадлежит к конкретному типу, каждый объект принадлежит к конкретному классу, который группирует схожие объекты. Класс – это абстрактное обозначение, на самом деле он не существует. Классы описывают свойства, которые должны иметь принадлежащие к ним объекты.

Объекты одного и того же класса имеют одинаковые свойства. Когда объект принадлежит конкретному классу, мы говорим, что объект – экземпляр этого класса. Для создания объекта необходимо точно определить класс и заполнить все свойства объекта, описанные в классе, значениями.

Объекты могут действовать, изменяя свое состояние или побуждая другие объекты к действию. Действия, совершаемые объектом, формализуются методом (функцией). Функции определяются для классов так же, как свойства, хотя они одинаковы для каждого объекта класса.

Объекты могут изменять свое состояние и влиять на другие объекты, вызывая их функции. Этот процесс можно рассматривать так: один объект отправляет сообщение другому, который его принимает и действует соответствующим образом.

Объектная декомпозиция.

Процесс моделирования реальной ситуации с коллекцией взаимодействующих объектов называется объектной декомпозицией. Он состоит из нескольких стадий.

Первая стадия заключается в идентификации кандидатов для объектов. Это – типичные обозначения, используемые людьми при описании реальных объектов. Сущность достойна быть моделью как объект, если она более или менее выделяется и имеет уникальную структуру и поведение. Это может быть:

1. физический объект (дом, ручка, книга);

2. характеристика (форма буквы, форма фигуры);

3. местоположение (улица);

4. абстрактное обозначение (животное, графическая фигура);

5. событие (встреча, ЧП);

6. сложная сущность, состоящая из других сущностей (очередь людей, список книг, матрица целых чисел).

Каждая сущность моделируется с помощью отдельного класса.

На второй стадии отмечаются свойства, которые описывают объекты.

На третьем этапе описываются отдельные действия, которые могут совершать объекты. Эти действия моделируются с помощью функций объекта.

На четвертой стадии определяется реализация каждого объекта.

Идеи ООП: инкапсуляция и наследование.

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

В добавок к инкапсуляции, ООП характеризуется наследованием и полиморфизмом. Наследование означает, что объекты получают функциональность от других объектов (называемых предками). Объекты могут изменять наследованное поведение. Порождённые объекты наследуют все свойства и методы от объектов от которых они порождены. Порождённый объект называется потомком и объект от которого он производится называется предком.

Потомки имеют те же свойства и методы что и объекты от которых они произведены. Потомки могут определять новые свойства и методы а также переопределять свойства и методы основного класса.

Иерархия классов это коллекция классов с их зависимостями типа “предок — потомок”.

PHP Start | Теория: Урок 14. ООП #2. Наследование, инкапсуляция


Похожие статьи.

Понравилась статья? Поделиться с друзьями: