Объектная

by Алан Кей

Объектно-ориентированная парадигма программирования (ООП) организует код вокруг объектов, которые объединяют данные и методы, что способствует инкапсуляции, наследованию и полиморфизму — основным принципам ООП.

Происхождение

Алан Кей считается одним из основоположников объектно-ориентированного программирования. Он ввел ключевые концепции ООП в 1960-х и 1970-х годах, работая над языком Smalltalk.

Исторический контекст

Идея организации данных и методов в объекты впервые возникла в языке Simula (разработчики — Оле-Йохан Даль и Кристен Нюгорд) в 1960-х годах. Однако Алан Кей развил и популяризировал эту парадигму в Smalltalk, предложив основные концепции — инкапсуляцию, наследование и полиморфизм.

ООП возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны.

ООП предлагает более высокоуровневую организацию кода по сравнению с процедурным программированием, связывая данные и функции, которые работают с этими данными, в единые объекты.

Система состоит из объектов и взаимодействия между объектами

В ООП программа состоит из объектов, каждый из которых представляет собой экземпляр класса — шаблона, описывающего структуру данных и методы для работы с ними. Объекты взаимодействуют друг с другом, отправляя сообщения (вызывая методы), что делает систему гибкой и расширяемой.

Три принципа ООП

  • Инкапсуляция Инкапсуляция скрывает внутреннюю реализацию объекта и предоставляет доступ к данным только через определённые методы, что улучшает безопасность и устойчивость кода.
  • Полиморфизм Полиморфизм позволяет объектам разных классов обрабатывать данные через один и тот же интерфейс, что упрощает управление сложностью программы.
  • Наследование Наследование позволяет создавать новые классы на основе существующих, что способствует повторному использованию кода и созданию иерархий классов.

Паттерны GRASP

General Responsibility Assignment Software Patterns — общие шаблоны распределения ответственностей. Эти шаблоны помогают определить, какие обязанности должны быть возложены на каждый класс и объект в системе, обеспечивая правильную организацию кода.

Шаблоны GoF

Gang of Four (Банда четырёх) разработала шаблоны проектирования, которые предлагают готовые решения для типичных задач в ООП. Эти шаблоны обеспечивают повторяемость и стандартизацию кода, что делает его более поддерживаемым и расширяемым.

Примеры языков

  • Smalltalk
  • Java
  • C++
  • Ruby

объектная парадигма


Buzzwords
объектная коммуникация акторно-сетевая mindmap финансовый концептуализация домен лингвистика когнитивного-капитала очки проблема социальная-сеть стримы мультимедиа инструменты познание структура вавилон scrum социальное-действие discord позитивизм безопасность майндмап операционализация множественных-миров концепты язык теория umwelt теории деконструкция процедурная психологизм функциональная эпистемология философия тройки-хоара теория-институционализации teamwork разработка теория-потребления факт разрыв концепт медиации-рынка постструктурализм императивная аналитика объект коммуникации-знаний антропология исследование эмпиризм корпоративный семантика e-commerce мессенджеры сетевых-сообществ big-data сервис предмет верификация производство аспектная теория-поля элементы слон смысл геймдев сильных-слабых-связей программирование социального-капитала метафора динамики-социальных-групп проекты умвельт социального-обмена дистрибуция структурный-функционализм сетей-платформ информационный социология маркетплейс априоризм капиталистических-систем синтаксис идеи дисциплинарной-власти теория-структурирования парадигма знание теория-систем автоматизация теория-медиатизации элемент облачный рационализм символического-взаимодействия сложность информационного-общества