2017-01-10

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

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

Что же такое объект?

Стандартное определение объекта примерно таково: "объект" - это некоторая сущность, которая живет только внутри программы, и которая обладает набором свойств и методов. Свойства объекта влияют на то как будет объект выглядеть, а методы определяют то, какие действия этот объект способен делать сам или можно делать над ним.

Ну а для чего же нужны эти объекты?

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

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

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

Что будем делать на уроке

На уроке мы только посмотрим как создаются простейшие объекты и их свойства, а также как создаются экземпляры этих объектов.

В нашей программе создается класс человека с тремя свойствами: Именем, Возрастом, Ростом. Далее, внутри тела программы создается экземпляр класса, и далее мы обращаемся к свойствам (Имя, Возраст и Рост) именно этого экземпляра.

Давайте посмотрим как это происходит.

Разберем программу по кускам:

1. Создаем класс. Называем этот класс Human:

Как видно, классу Human мы установили три свойства: Name - Имя, Age - ВозрастHeight - высота.

Далее необходимо описать, какие в программе будут переменные, которые одновременно будут экземплярами класса Human. В нашем случае - это одна переменная-экземпляр - h.

Далее, внутри самой программы мы сначала создаем экземпляр h:

Create - в переводе на русский значит "Создать". После этого можно обращаться к свойствам данного экземпляра используя "точечную" нотацию:

Как видно все довольно просто.

Надеюсь, Вам было все понятно, ну а если не все понятно, посмотрите еще и вот этот видеоурок, правда, он создан уже для более поздней версии прогрмммы: PascalABC.net, поэтому там экземпляр класса создается не как описано выше, а по-другому:

h:= new Human;

В остальном все точто также. Приятного просмотра.

Подготовка к тесту

Вопросы теста:

1. Классом называется некоторая сущность, обладающая....

2. Ключевым в иерархии объектов является  ...

3.  Выберите правильное утверждение: (класс наследует свойства и методы экземпляра, .....)

4. Выберите правильное утверждение: (класс один, а экземпляров несколько, экземпляр один, а классов несколько, у одного класса есть только один экземпляр, ....)

5. То какой внешний вид имеет экземпляр класса является ..... экземпляра.

6. То каким образом происходит процесс столкновения экземпляра со стеной является ...... экземпляра.

 


article

Авторизация
Логин:
Пароль:

Добро пожаловать,
гость сайта!

Статистика по сайту:

Сегодня сайт уже посетили 25 чел.

Количество всех статей на сайте: 498.

Количество online-тестов: 211.

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