C++/C#/Java 中的'Class'思想是否来自 C 中的结构?
Does the idea of 'Class' in C++/C#/Java come from struct in C?
我很久以前就有这个疑问了。点运算符最早在C中的结构中使用。Class的思想或Class的设计是基于C中的struct吗?事实上,我非常怀疑,只是还没有看到任何关于这方面的官方文档。
编辑:我想问的是,创建类语法(在C++中)的想法是否来自C中的结构,而不是为什么C不是OOP语言!
否1。
虽然语法有点相似,但这只是语法。";类";以及";对象">比C早几年2。
模拟器是在60年代开发的:
Simula是两种模拟编程语言的名称,Simula I和Simula 67,于20世纪60年代在奥斯陆的挪威计算中心开发。。
Simula67介绍了对象、类、继承和子类、虚拟方法、协同程序、离散事件模拟以及垃圾收集功能。在Simula导数中引入了子类型。
Simula被认为是第一种面向对象的编程语言。顾名思义,Simula是为进行模拟而设计的,该领域的需求为当今面向对象语言的许多功能提供了框架。。
Simula的影响通常被低估,Simula类型的对象在C++、Java和C#中被重新实现C++的创建者Bjarne Stroustrup承认Simula 67对他开发C++影响最大。。
1即使一些概念可以在C中模拟,这并不意味着面向对象编程起源于C结构或实现,或者是C结构或实施的结果。
2Simula67在1968年被正式标准化;最具创造性的时期;直到1972年才增加了对structs的支持。事实上,C语言的早期标准("C编程语言")直到1978年才公布。
在早期版本的C++(或C with Classes)中,对象是直接用struct
实现的。当你使用cfront时,你可以看到它。现在它可能是,但这取决于实现。至于语法,我相信它来自algor(但我不确定)。
- 相当于 Java 中的C++结构
- 为什么像C++和Java这样的语言有一个内置的LinkedList数据结构
- Java 中的私有变量和 C++ 结构中的私有变量有什么区别?
- 在C++中实现 Java 集合层次结构
- TCP-Server以数据包结构(非Java客户端)发送文件
- 将 C++ 中的结构转换为 Java 中的类
- 如何从Java中的C DLL加载和使用结构和功能
- C++/C#/Java 中的'Class'思想是否来自 C 中的结构?
- C++和 Java 数据结构的重叠:堆栈"top"与"peek"
- 在Android应用程序(Java和XML)中使用C++结构
- JNA(Java):如何将指针数组传递给结构
- 如何使用 JNI 将结构数组从 C++ dll 返回到 Java Applet
- 模仿 java 结构中的C++并写入 byte[]
- 复制(非浅层或深层)用于C/C++/Java等同物中的结构.复制到所有成员都指向完全相同内存的变量
- 线程和消息队列体系结构.Java和C++的区别
- 在c#、c++和java中创建python弱类型结构的强类型版本
- c++结构到Java类
- c++中结构和指针的语法,相当于Java
- 如何通过套接字发送与c++兼容的Java结构体
- 哪些C++数据结构可以处理类似于Java ArrayList 'insert'?