Как понять объектно-ориентированное программирование? - Компьютерные вопросы

Вопрос Как понять объектно-ориентированное программирование?

Регистрация
15 Дек 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
Расскажите исходя из своего опыта как вы обучались этому разделу python
 
Регистрация
28 Июл 2013
Сообщения
91
Репутация
1
Спасибо
2
Монет
0
Создаешь класс с методами и свойствами. У экземпляров класса методам и свойствам можно задавать свои параметры и менять методы экземпляров класса по своему усмотрению. Считается что это удобно, но в Питоне ООП вещь не обязательная. Обязательная она в Джаве.
Вот тут объектно-оринтировано искал радиус окружности в треугольнике по координатам точек треугольника
Преимущество ООП в данном случае в том что можно создавать множество экземпляров треугольников со своими собственными параметрами. А всё вычисления находятся в родительском классе. Работу функции вычисления через дочерние классы можно поменять для конкретного экземпляра, что не затронет другие экземпляры класса
u_3477ceeaf170e1643a3280a9c80c2d48_800.png

 
Регистрация
25 Апр 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
ООП - это всего лишь надстройка над процедурным программированием, удешевляющая написание кода.

Разбиваем программу на независимые компоненты, каждый из которых имеет законченный замкнутый функционал. Для взаимодействия компонентов между собой в каждом компоненте создаём интерфейс: набор подпрограмм, которые можно вызывать из других компонентов.

Называем чертёж, по которому создаётся компонент, классом, сам компонент - объектом (экземпляром класса), а подпрограммы переименуем в методы и вместо процедурного "метод(объект, параметры)" будем записывать вызов в виде: "объект.метод(параметры)".

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

Вместо сложного монолита с непредсказуемым связями между разными частями кода получаем код, собранный из независящих друг от друга простых кубиков - классов и объектов.
 
Регистрация
5 Сен 2013
Сообщения
78
Репутация
6
Спасибо
1
Монет
0
лучше прочитать книгу Г.Буч "Объектно-ориентированный анализ и проектирование, с примерами приложений"
 
Сверху Снизу