«Каждая технология программирования тесно связана с некими абстракциями и каждая появилась не случайно, а была вызвана необходимостью сближения понятий реальной жизни (для которой и пишутся программы) с процессом программирования.
Чаще всего в небольших программах последовательное выполнение команд является самым естественным. Такое программирование носит название классического. Как только задачи усложняются – появляются подпрограммы и модули. Отсюда произросло структурное программирование. Оно позволяет создавать сколь угодно сложны программы и даже целые программные комплексы, разбивая основную задачу на подзадачи, которые называют модулями. Подгружаемые модули можно было отлаживать отдельно и компоновать в библиотеки для многократного использования из других приложений.
Следующей важной вехой в развитии языков программирования стало введение понятия структуры как особого, синтетического типа данных. Для описания свойств какого-либо реального объекта чаще всего требуется некий набор характеристик (структура). Присвоив этому набору имя, мы получаем возможность манипулирования характеристиками, как единым целым.
С расширением сферы применения программирования и особенно с развитием графических возможностей компьютеров появилась необходимость работать с большим количеством объектов, которые помимо свойств должны описываться рядом характерных действий. Аналогично набору свойств объекта, объединяемых рамками абстрактного понятия структуры, напрашивалось дальнейшее дополнение этого объединения набором действий – «методов». Это объединение представляло собой новую структуру данных – класс. Если структуру объекта можно сравнивать с его чертежом, то класс представляет собой уже некий рабочий механизм с органами управления. Этот подход позволил «конструктировать» приложения из множества стандартных узлов, добавляя к ним детали и органы управления. В результате появилось целое направление – объектно-ориентированное программирование.»
Основные категории в объектно-ориентированном программировании:
1. свойства – как описание характеристик объекта;
2. способности – как описание действий с объектом;
3. правила наследования свойств и способностей объекта.
Итак, объект задан если не только заданы «свойства» объекта, т. е. составлены суждения о нем, но и заданы некие способности. Я скажу более этого: свойства и способности взаимосвязаны и каждое свойство следует рассматривать лишь только в связи с способностью. Я говорю о
Чтобы прояснить, что такое свойствоспособность процитирую великолепную работу Уорфа «Отношение норм поведения и мышления к языку».