⇤ ← Версия 1 от 2017-11-17 14:23:57
1542
Комментарий:
|
2752
|
Удаления помечены так. | Добавления помечены так. |
Строка 4: | Строка 4: |
1. Инкапсуляция: иерархическое пространство объектов (как правило реализовано деревом пространства ''имён'') | 1. '''Инкапсуляция''': иерархическое пространство объектов (как правило реализовано деревом пространства ''имён'') |
Строка 10: | Строка 10: |
1. Наследование: повторное использование свойств объекта при создании нового (есть несколько путей: прототипирование, классы/подклассы, /?\ что ещё?) | 1. '''Наследование''': повторное использование свойств объекта при создании нового (есть несколько путей: прототипирование, классы/подклассы, /?\ что ещё?) |
Строка 12: | Строка 12: |
* ⇒ объектное планирование сложных и свехрсложных систем | * знание о предках и их свойствах ('''интроспекция''') * ⇒ объектное планирование сложных и сверхсложных систем |
Строка 14: | Строка 15: |
1. Полиморфизм: повторное использование возможностей объекта при ''использовании'' принципиально другого объекта ( * |
1. '''Полиморфизм''': повторное использование возможностей объекта при ''использовании'' принципиально другого объекта * реализация только ''разницы'' возможностей между исходным и новым объектом (во многих языках совпадает с механизмом наследования) * ⇒ объектное планирование сложных и сверхсложных систем * правила работы с отличающимися свойствами (например, то делать с дополнительными полями? много ещё чего) * Python3 (ещё примеры? Ruby?): параметрический полиморфизм, он же в данном случае Duck Typing: любой метод/функцию можно применять к любым объектам, лишь бы 1. этот метод был, 1. количество параметров было допустимым 1. эти три правила были применимы к ''коду'' метода/функции == Полиморфизм == |
Строка 19: | Строка 28: |
приватные пола | приватные поля |
Строка 22: | Строка 31: |
наследование, MRU |
Классы и ООП
ООП (предупреждение: не читайте Википедию, там C++ style only ):
Инкапсуляция: иерархическое пространство объектов (как правило реализовано деревом пространства имён)
- категоризация объектов
связь объекта и его namespace
- механизм реализации наследования и полиморфизма
Python3 (и не только ): объект.поле
на самом деле это просто словари
Наследование: повторное использование свойств объекта при создании нового (есть несколько путей: прототипирование, классы/подклассы, /?\ что ещё?)
описание только разницы между исходным и новым объектом
знание о предках и их свойствах (интроспекция)
- ⇒ объектное планирование сложных и сверхсложных систем
- Python3 (и не только): классы и подклассы
Полиморфизм: повторное использование возможностей объекта при использовании принципиально другого объекта
реализация только разницы возможностей между исходным и новым объектом (во многих языках совпадает с механизмом наследования)
- ⇒ объектное планирование сложных и сверхсложных систем
- правила работы с отличающимися свойствами (например, то делать с дополнительными полями? много ещё чего)
- Python3 (ещё примеры? Ruby?): параметрический полиморфизм, он же в данном случае Duck Typing: любой метод/функцию можно применять к любым объектам, лишь бы
- этот метод был,
- количество параметров было допустимым
эти три правила были применимы к коду метода/функции
Полиморфизм
приватные поля
перегрузка операций
наследование, MRU