访问控制修饰符的历史,例如public/private/protected

Ion*_*tan 18 oop history

这些关键词和概念是如何变为现实的?使它们出现的力量和问题是什么?拥有它们的第一语言是什么?

其实,这不仅仅是public/ private/ protected,而是强制实施一些规则(关键字的整个范围abstract,final,internal).

但是,请不要假设.如果您知道答案或答案的至少一部分,如果您过着那些时刻,请回答.参考文献非常感谢.

Hen*_*man 8

Simula(1967),被认为是第一个OO语言,具有称为受保护隐藏的修饰符 .我认为公共是默认的,我不记得了.它也使用虚拟.

而且,与感谢帕维尔,西穆拉推出的最重要的关键词(和概念),这个,,向下转换和引用类型.

Smalltalk(1980),一个后来但更为基础的OO语言,给了我们响应消息的方法.这基本上与虚函数功能相同.消息和类后来在C(非OO)中模仿,以提供Windows API多态行为.但仍然需要丑陋的switch语句和函数指针来替换继承.

据我所知,在Delphi中首次使用Properties(Object Pascal,<1994).

  • 这才是真正的起源.Simula的`hidden`是我们今天所说的'private`,`protected`就是这样,默认是公开的.Simula还引入了术语"类"和"对象",意思是它们在今天的OOP/OOD中使用,类的单继承,"虚拟"方法的术语和概念,字段访问的点符号和方法调用检查向下转换和typeswitch的想法,以及类是具有固有引用标识的"引用类型"(与其他类型为"值类型")相反的概念. (3认同)
  • ...以及用于实例化对象的`new`关键字,以及`this`从方法中引用对象本身. (2认同)