Объектно-ориентированное программирование: различия между версиями

Материал из Поле цифровой дидактики
 
(не показано 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


Описание Paret_alonzo.jpg

Объектно-ориентированное программирование — это одна из парадигм разработки программного обеспечения. Программы состоят из объектов - сущностей со своими:

  1. данными в виде полей (атрибуты или свойства)
  2. и набором действий - процедур (методы ).
Область знаний Информатика
Авторы Kay, Lieberman
Поясняющее видео
Близкие понятия Класс, Наследование, полиморфизм, Инкапсуляция, Делегирование
Среды и средства для освоения понятия Smalltalk, etoys, Java, Alice, Squeak, Snap!

Объекты

  1. Объект помнит свою историю у него есть свои личные переменные
    • This sprite only.png
  2. Объект (спрайт Scratch Snap!) может обмениваться сообщениями с другими объектами. Направленно передать сообщение другому объекту
    • Butterfly broadcast.png
  3. Наследование - передача своих свойств и методов от одного объекта своим потомкам. В Snap! - клоны могут быть не только временными, но и постоянными
    • Permanent clone.png

Свойства

Методы

Примеры и рецепты

Диалог Лопахина и Дуняши


Животные и птицы

Проект, внутри которого хранятся изображения птиц и животных - пока они ничего не делают, только думают о себе и все они связаны с одним спрайтом

? Могут ли они думать о чем-то другом?


Мысли бабочки


Пример из модели Flocking (model)

  • у каждого агента есть знание, что есть и другие клоны и он может к ним обратиться
  • агент использует для отбора фильтр: расстояние до другого агента должно быть меньше указанного visual_range
  • в переменную "видимые соседи" помещаются все клоны, находящиеся поблизости



Paret alonzo.jpg


Литература

Lieberman, Henry
Using Prototypical Objects to Implement Shared Behavior in Object Ori-ented Systems, 1986,