Объектно-ориентированное программирование: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 10: | Строка 10: | ||
}} | }} | ||
== Объекты == | == Объекты == | ||
# [[Объект]] помнит свою историю у него есть свои личные переменные | |||
#* [[Файл:This sprite only.png]] | |||
# Объект ([[спрайт]] Scratch Snap!) может обмениваться сообщениями с другими объектами. Направленно передать сообщение другому объекту | |||
#* [[Файл:Butterfly broadcast.png]] | |||
# Наследование - передача своих свойств и методов от одного объекта своим потомкам. В Snap! - [[клон]]ы могут быть не только временными, но и постоянными | |||
#* [[Файл:Permanent clone.png]] | |||
=== Свойства === | === Свойства === | ||
Строка 19: | Строка 26: | ||
* [[Организовать обмен сообщениями между агентами]] | * [[Организовать обмен сообщениями между агентами]] | ||
=== | === Диалог Лопахина и Дуняши === | ||
* https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=Cherry_orchard | |||
<snap project="Cherry_orchard" user="patarakin" /> | |||
=== Животные и птицы === | |||
Проект, внутри которого хранятся изображения птиц и животных - пока они ничего не делают, только думают о себе и все они связаны с одним спрайтом | |||
; ? Могут ли они думать о чем-то другом? | |||
<snap project="animals_ru" user="patarakin" /> | |||
=== Мысли бабочки === | |||
* https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=butterfly%20effect | |||
<snap project="butterfly%20effect" user="patarakin" /> | |||
=== Пример из модели [[Flocking (model)]] === | |||
* у каждого агента есть знание, что есть и другие клоны и он может к ним обратиться | |||
* агент использует для отбора фильтр: расстояние до другого агента должно быть меньше указанного visual_range | |||
* в переменную "видимые соседи" помещаются все клоны, находящиеся поблизости | |||
<snap project="Flocking_Snap" user="patarakin" /> | |||
---- | |||
[[Файл:Paret alonzo.jpg]] | [[Файл:Paret alonzo.jpg]] | ||
== Литература == | |||
; Lieberman, Henry: Using Prototypical Objects to Implement Shared Behavior in Object Ori-ented Systems, 1986, | ; Lieberman, Henry: Using Prototypical Objects to Implement Shared Behavior in Object Ori-ented Systems, 1986, | ||
* http://web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html | * http://web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html |
Текущая версия на 08:20, 21 октября 2023
Описание |
Объектно-ориентированное программирование — это одна из парадигм разработки программного обеспечения. Программы состоят из объектов - сущностей со своими:
|
---|---|
Область знаний | Информатика |
Авторы | Kay, Lieberman |
Поясняющее видео | |
Близкие понятия | Класс, Наследование, полиморфизм, Инкапсуляция, Делегирование |
Среды и средства для освоения понятия | Smalltalk, etoys, Java, Alice, Squeak, Snap! |
Объекты
- Объект помнит свою историю у него есть свои личные переменные
- Объект (спрайт Scratch Snap!) может обмениваться сообщениями с другими объектами. Направленно передать сообщение другому объекту
- Наследование - передача своих свойств и методов от одного объекта своим потомкам. В Snap! - клоны могут быть не только временными, но и постоянными
Свойства
Методы
Примеры и рецепты
Диалог Лопахина и Дуняши
Животные и птицы
Проект, внутри которого хранятся изображения птиц и животных - пока они ничего не делают, только думают о себе и все они связаны с одним спрайтом
- ? Могут ли они думать о чем-то другом?
Мысли бабочки
Пример из модели Flocking (model)
- у каждого агента есть знание, что есть и другие клоны и он может к ним обратиться
- агент использует для отбора фильтр: расстояние до другого агента должно быть меньше указанного visual_range
- в переменную "видимые соседи" помещаются все клоны, находящиеся поблизости
Литература
- Lieberman, Henry
- Using Prototypical Objects to Implement Shared Behavior in Object Ori-ented Systems, 1986,