4th学习笔记2(第一章,对象导论)

1,java是真正面向对象的语言。

2, 包访问权限,类没有public,protected,private关键系修饰时,类可以调

用同一个包的其他类的方法,但在包之外,这些成员如同指定了private一样。

3,复用

组合(composition):使用现有的类合成新的类;

聚合(aggregation):如果组合是动态发生的,称为聚合。

4,前期绑定和后期绑定

前期绑定:非面向对象编程的编译器产生的函数调用产生的叫前期绑定。

后期绑定:面向对象编程的编译器产生的函数调用产生的叫后期调用。

C++的类方法,添加了virtual的修饰词,就是动态绑定。默认不是动态绑定。

java的类方法,恰恰相反,函数默认是动态绑定的,不用额外添加virtual修饰词。

5,单根继承结构

c++语言之外的所有的面向对象的语言都是单根继承。即所有的类最终都继承自单一的基

类,这个终极的基类的名字叫 Object,单根继承系统对垃圾回收器和系统级操作,

比如异常处理就变得容易了,所有的类对象都具有某些类性特征,不会因为无法确定对象的类

型而陷入僵局。

6,类对象的创建和生命周期

C++的对象创建在堆栈中,对象的存储空间和生命周期在程序编写的时候已经确定。

java的对象创建在被称为堆(heap)的内存池中,这种方式中,直到程序执行的时候

才知道需要对象多少,它们的生命周期如何。


7,异常处理

异常处理不是面向对象的特证,尽管异常被表示成一个对象,异常处理在面向对象语言出现之

前已经有了。

8,作者特别推荐python语言,www.python.org,认为这种语言接近设计目标是克服开发

和维护程序的复杂性的目标。



你可能感兴趣的:(java,编程,C++,c,python)