Объектно-ориентированное программирование

Материал из Поле цифровой дидактики


Описание 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,