Simula (1967) , который считается первым языком OO, имеет модификаторы, названные protected и hidden . Я предполагаю, что публикация по умолчанию, я не могу вспомнить. Он также использует virtual .
И, благодаря Павлу, Симула представил самые важные ключевые слова (и концепции) class , this , new , downcasting и ссылочных типов.
Smalltalk (1980) , более поздний, но гораздо более фундаментальный язык ОО, дал нам Методы , отвечающие на Сообщения . По сути, это та же функциональность, что и виртуальные функции. Сообщения и классы были позже имитированы в C (не-OO), чтобы придать Windows API полиморфное поведение. Но все еще нужны уродливые операторы switch и указатели на функции для замены наследования.
Первое использование Properties было, насколько мне известно, в Delphi (Object Pascal, <1994). </p>