Подтвердить что ты не робот

Объектно-ориентированные языки без концепции класса

Я читаю введение в документ Scala и нашел следующее утверждение:

Следует отметить, что некоторые объектно-ориентированные языки не имеют понятие класса.

Вопрос: Какие объектно-ориентированные языки не имеют концепции класса и как они обрабатывают отношения типа (класса) - объекта (типа экземпляра)?

4b9b3361

Ответ 1

Несмотря на то, что на популярных языках их объединяет, классы и типы - это разные понятия. Класс правильно понимается как проект для объекта, определяющий атрибуты и методы, которыми обладают экземпляры класса, но тип (object) - это интерфейс, описывающий, какие методы могут быть вызваны с помощью каких параметров.

Таким образом, нетрудно представить себе языки без классов. Все, что вам нужно, это какая-то конструкция для создания объектов и для предоставления (новых) объектов атрибутов и методов; Javascript - хорошо известный пример. Наследование будет выглядеть немного необычно на таких языках, но, безусловно, можно сделать (см., Например, статью Антеро Тайессаари "О понятии наследования" ).