русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 768; Нарушение авторских прав


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


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

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

Например

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

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

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

 

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


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


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

 

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

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



 


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


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


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

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

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

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

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

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


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

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


 

 



<== предыдущая лекция | следующая лекция ==>
Типы программирования. Часть 1. Структурное программирование. Циклы | Введение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.659 сек.