Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Первые шаги в программировании: основы, Си, Objective-c


1.18

Типы программирования. Часть 2.

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

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


Основные понятия ООП

Абстракция данных
Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения не значимые. Соответственно, абстракция — это набор всех таких характеристик.

Например

- человек
У него есть общие для всех представителей этого объекта характеристики (данные):
- ФИО,
- пол,
- год рождения и т.п.
С этими данными можно производить какие то действия: сообщить ФИО, говорить, слушать

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

- стол
У него есть определенная форма, ножки, поверхность...


Абстракция данных является основой "класса"


Инкапсуляция
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Т.е. это некий черный ящик в который нету доступа. И как он устроен внутри нас не должно волновать...


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

К примеру если использовать класс МАШИНА, то наследование может быть таким:
- легковые машины (перевозят людей)
- грузовики (перевозят грузы)

Т.е. это все тоже машины, которые имеют все основные характеристики своего родительского класса (у всех есть двери, колеса, сиденья...), но в то же время они имеют и отличительные от родительского класса характеристики.




Полиморфизм
Полиморфизм — простыми словами это возможность изменения каких либо параметров внутри объекта без изменения его общей сути.
Например есть основной предок - класс ЧЕЛОВЕК. у него есть объекты: Рабочий, Инженер
И у того и у другого имеется зарплата, график работы и т.п.
Например при изменении уровня зарплаты или начала рабочего дня основная сущность объекта не поменяется.


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


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

Например объект - "телевизор" - обладает свойствами цены, размером диагонали, веса...
Объект - "Видеомагнитофон" - обладает своими параметрами
Объект "Игровая приставка" - обладает своими параметрами
Все эти объекты разные, но принадлежат к одному классу - "бытовая техника" (к примеру)...

Можно создать еще один класс:
например "Мебель" - тогда его "объектами" будут: стол, стул, шкаф, кресло и т.п.
У этих объектов имеются общие характеристики: материал из которого они изготовлены, цвет...

 

Полная новость доступна на сайте www.tryobj.com


В избранное