Объектно-ориентированное программирование AS3 (Часть 2)

2. Введение в ООП(Объектно-ориентированное программирование)

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

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

Рассмотрим объект на примере кирпича:

1.Свойства кирпича — имя (к примеру, кирпич Стахановского завода), цвет, габариты(т.е. длина вдоль, длина в глубь, длина в высоту), масса и др.

2.Методы кирпича. Что можно сделать с кирпичом? Положить, бросить, изготовить, разбить, вычислить прочность и др.

3.События кирпича. Возникают, чаще всего, после какого-либо метода. К примеру, кирпич брошен, кирпич положен, началось изготовление кирпича, кирпич изготовлен, началось уничтожение(как это смешно не звучит) кирпича, кирпич разбит и др.

И все это содержится в одном объекте, который является класса кирпич.Кстати, может вы и не заметили даже, но «Класс» это еще одно понятие ООП.

Представьте себе ситуацию, если бы каждый кирпичик описывали заново, т.е. каждый раз изготовитель заново описывал:

1. Форма должна быть параллелепипед, а не цилиндрической;

2. Должен состоять не из пластилина, а иметь специфический состав для прочности;

3. Должен обжариваться, а не застывать на солнце;

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

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

Вернемся к програмированию, таким образом мы упрощаем код и повышаем производительность.

2.1. Классы и Объекты

При изучении ООП Вы не сможете избежать столкновения с такими понятиями как Класс и Объект. На примере описать различие между классом и объектов можно следующим образом. Класс «кирпич» представляет собой документированное описание всех свойств, методов и событий объекта данного класса. Объект «кирпич» — это результат создания(изготовления) объекта класса «кирпич», который имеет свойства описанные в классе «кирпич», к которому применимы методы описанные в классе «кирпич», в котором возникают события класса «кирпич». Должно быть понятно, что создать множество объектов одного класса можно, но никак наоборот. Объекты еще называют «экземплярами класса».

2.2. Свойства

Это отличительные особенности объектов одного класса. К примеру, без различных значений свойств объектов( цвета, габаритов, материала, веса) все «кирпичи» были бы одинаковы, т.к. все являются экземплярами одного класса — класс «кирпич».

В ООП, Вы создаете класс для описания известных особенностей и,возможно,хранения определенных данных. Далее вы создаете множество объектов данного класса и придаете каждому свои особенности.

2.3. Инкапсуляция

Инкапсуляцию можно разъяснить на следующем примере. У Вас есть телевизор, он состоит из множества деталей и еще больше процессов возникающих в них, но чаще всего Вас абсолютно не интересует что происходит при его включении.

Еще один пример. В армии, Главнокомандующий Вооруженных Сил отдает приказ, его не интересует какой именно военнослужащий его будет выполнять и каким образом. Выполняется метод объекта «Главнокомандующий» — метод «Отдать приказ». В самом методе «Отдать приказ» выполняются инкапсулированные методы — метод «выяснить род войск для выполнения задачи», метод «контроль выполнения поставленной задачи» и др. В том же методе используются инкапсулированные свойства — количество всех подразделений, ресурсы каждого подразделения. Суть в том, что Главнокомандующего не интересует весь процесс, т.к. есть более важные задачи:-).

Процесс скрытия «не нужной» (не приоритетной информации) в описании класса и называется инкапсуляцией.

2.4. Полиморфизм
Я постараюсь объяснить на примере. Представьте, что есть люди разных профессий:
-сварщик;
-врач;
-грузчик;
Каждый из них является потомком класса «Человек», у которого есть свой набор методов (дышать, спать, есть) и свойств (цвет глаз, рост, вес). Полиморфизм заключается в том, что классы «сварщик», «врач», «грузчик» наследуют все методы и свойства от класса «человек» и имеют свои дополнительные.
Пример на псевдокоде:

Класс Человек
Начало описания класса человек
Свойство рост;
Свойство вес;
Свойство цвет глаз;
Метод спать;
Метод есть;
Метод дышать;
Конец описания класса человек

Класс Сварщик
Начало описания класса Сварщик
Наследование класса Человек;
Свойство категория_сварщика;
Метод варить;
Конец описания класса Сварщик

Класс Врач
Начало описания класса Врач
Наследование класса Человек;
Свойство область_медицины;
Метод лечить;
Конец описания класса Врач

Класс Грузчик
Начало описания класса Грузчик
Наследование класса Человек;
Свойство грузоподъемность;
Метод переносить;
Конец описания класса Грузчик

Объектно-ориентированное программирование AS3 (Часть 2): 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *