Добро пожаловать в раздел "Основы программирования"

сайта "Try Objective-c - программирование для начинающих"!

  Здесь простым и доступным языком представлен материал по основам программирования.

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

  Сам процесс обучения программированию довольно трудоемок, но если у вас есть цель - то у вас все получится!

  Заучивать весь представленный материал нет необходимости. Главное - чтобы вы понимали саму суть здесь изложенного.

» » 1.18 Типы программирования. Часть 2. Объектно-ориентированное программирование

Категория:

Информация к новости
  • Просмотров: 5176
  • Автор: Midav
  • Дата: 6-10-2012, 00:27
6-10-2012, 00:27

1.18 Типы программирования. Часть 2. Объектно-ориентированное программирование



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


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

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

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

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

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


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


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


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

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

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



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


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


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

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

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

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

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

Или класс "Фигура" - а объектами тогда будут: прямоугольники, круги, многоугольники, треугольники, трапеции и т.п.


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

Под описание объектно-ориентированных языков подпадают:
Objective-C
СИ++
СИ# (читается - СИ шарп)
Python
PHP
Java

Метки к статье: программирование

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

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *