这篇blog就谈谈我对类的理解吧。
首先,一个程序是靠什么在运作?程序启动进程,OS为进程提供资源,进程再分为线程和资源,然后线程占据cpu,在资源充足的时候运行相应的程序,所有的一切都离不开RAM,RAM是干什么的?降低到物理层,它就是电容的正负电荷(不太严谨,不过这不是重点),或者其他形式的物理器件,用来存储0和1,就是所谓的一位,冯诺依曼模式嘛。位的组合就形成了字节等等的单位。在高层,程序是靠变量支撑起来的,一系列指令代码,归根到底是对变量的派遣,变量又是在RAM中存储的,那么为了分辨我用的是那一块RAM,变量就得有个名字。而为了更好的管理RAM和存储数据,各个编程语言基本都有int float double等类型的数据。int i 就是在RAM中使用了2个字节(依编译器而不同)的位置,并把它叫做i,一个代号而已,这就是类和对象的雏形。
拿C语言为例,有结构体struct,它是一系列不同类型变量的集合,组成了一个新的类型,注意这是一个整体,是不可分割的,就像int一样,是个原子类型。struct可以一次性使用它内部的所有不同类型的变量,为结构体起个名字,那么就可以在RAM中存在这种结构的一块空间,这和基本类型是一样的。
结构体再次进化就成为了类,它们最大的区别在于,类中包含方法(函数),可以通过成员函数操纵变量,也可以与其他类交流信息,这样RAM中的数据便有了灵魂,成为有行为能力的个体。
一点浅浅的理解,大神勿喷。