以下只是我个人对C++语言的一些理解,只是为了更好地学习和使用C++,如有描述不当处,还请指出。
前言
很多的科幻大片中都有虚拟世界的存在,好比是现实世界的映射或是更近一步的提升,如黑客帝国中的matrix
,又如神盾局特工中的framework
,等等。
而这些虚拟世界无一不是建立在一行一行代码的基础上的。
C++作为一门面向对象的语言,是为了更好地描述这个世界,从而能够打造出与现实世界几乎相同的世界,甚至是超越现实的世界。
而要描述一个世界则离不开哲学。
世界的基本组成
在这里,我们认为现实世界由三种最基本的事物构成的,即:物质、能量和信息
。
而在虚拟世界中,一切的物质和能量都是由现实世界所提供的。真正存在于虚拟世界中的是信息。
世界到C++的映射
物质 == 数据类型
基本的
夸克、电子、场…… == int、short、char、char、long、unsigned、double、float、bool……
扩展的
各种各样的元素 == struct
其它的
- 变量 == 载体
- 常量 == 限定的变量(const)
- #define(字符替换)
信息 == 函数
函数使得各种类型的数据有序地进行交互。
能量
能量从外界摄取,就像是点下了运行的按钮。
对象实例与抽象类
现实世界中的信息和物质影射到C++语言中变为函数和变量。
而在C++语言中:
- 具体事物 == 对象实例
- 一类事物 == 抽象类
其他
每个人对同一事物的类的定义可能有所不同,因为一方面每个人的收敛思维和抽象能力不同,从而导致抽象的层次不同;另一方面,在不同的应用场景之下,抽象层次也不尽相同。
所以,对对象实例的抽象,即抽象类的形成应该视具体情况而定。