很多学生知道C语言,是因为要考全国计算机等级,对于C++不熟悉,而对于java更多的来源于手机上的游戏,然而他们三者之间存在着亲密的关系。有哪些你呢?北大青鸟现在告诉你。
从文件结构上看规律
C,C++,Java从数据结构上容易联系起来。但是从他们的程序设计方式来看,相差很大。比如:C,C++,都有那个子源文件,而JAVA中就没有,JAVA就是各种各样的包,包里面就是很多的类。类里面有很多的函数,这跟C,C++,长的一点都不像。那么怎么过度过来呢?
C语言和硬件联系的紧密,所以发展的不能太远,所以还没发展到类呢,而C++就帮C语言继续往上发展,终于发展到类了,但是C++只是在C的基础上改进,它不会从根本上改变。所以C++还是保留了那些多源文件的设计,类只能处在某个子源文件中。舍不得放开,所以C++不是正宗的面向对象程序设计语言。而JAVA则不同,它摒弃了C/C++,那种放不开的劣势,把类彻底的从源文件中释放出来,让一个类就代表一个源文件,以前你要做几个源文件,现在我只要做几个类,再把这几个类放到一个包下面,我就可以做更大的程序。所以JAVA是真正的面向对象的程序设计语言。然而JAVA离硬件比较远了,直接操作硬件就不如C、C++了,而操作系统一般的功能就是处理硬件的驱动程序。所以操作系统都是用C语言写的。所以C,C++,java他们都有自己的应用范围,社会的发展都离不开他们。
现在很多企业都是热招C 、C++ 、 java工程师。
从数据结构的角度看规律
刚开始是常量,常量太笨了,就引出了变量,变量可以存放很多的常量,但是变量如果多了,那就也比较麻烦,所以数组就出现了。但是数组有个缺点,就是只能把同类型的变量捆绑在一起,如果不同类呢?而往往外界的一个事物,经常是有不同的属性,这样你就要为这个事物定义多个不同类型的数组,这就显得非常的散乱了。这时候结构体就出来了。结构体能把不同的数据类型的属性捆绑在一起,能更加紧凑的表示外界的一个事物,然而外界事物只能是属性吗?比如聂小倩只能有姓名,性别,年龄,地址吗?当然不了,聂小倩还会飞啊,这个飞,从词性上来看是个动词,之前的属性都是名词,这个动词要表示就比较麻烦了。所以就需要函数来表示。聂小倩会飞,所以聂小倩这个个体就需要包含有函数这个成员了。也就是说,需要有一种类型,这种类型不但要有属性(词性是名称),还要有函数(词性是动词)。这种类型有,就是类。类的出现,能真正的完美的表达了外界的事物。这就是面向对象的优势:一个类能完整的描述外界的一个事物,所以一个事物就是一个类中的实例,也就是对象。
这里就进入了C++,java的领域。类的引出。
|