第一节 初步理解面向对象
在程序设计中,所有的编程语言提供抽象机制。人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。在面向过程的思想实质中,所作的主要抽象仍要求在解决问题是要给予计算机的结构,而不是采用基于所要解决的问题的结构来考虑。面向对象的思想实质,将问题中的元素及其在解中的表示称为“对象”,程序可以通过添加新类型(类)的对象是自身适用于某个特定问题。(面向过程是注重细节,面向对象注重抽象)
面向对象的五个基本特征(初步理解面向对象):
1、 一切皆是对象;(用对象的角度看待程序的每一部分,包括变量)
2、 程序是对象的集合,它们通过发送消息来传递彼此所要做的(消息传递);
3、 每个对象都有自己的由其他对象所构成的存储(属性或者字段);
4、 每个对象都有其类型(类);
5、 每一特定类型的所有对象都可以接收同样的消息(相同接口,可替代性)。
对象:一个自包含的实体(实体就是对象),用一组可标识(类名)的特征(属性)和行为(方法)来标识(对象具有状态(属性的抽象)、行为和标识)。
类(class):具有相同的特征(属性)和行为(方法)的对象的抽象集合(类是对对象的抽象),类其实是抽象数据类型。
类与内置(built-in)对象几乎完全一致,可以创建某一些类型的变量(对象或实例看成变量),然后操作这些变量(发送消息或请求);发送消息对象就知道需要做什么)。
对象是类的实例(instance),类是对象的抽象。
实例化:创建对象的过程,使用new关键字来创建。
接口(interface):确定了某一特定对象所能发出的请求。(此接口非后面面向对象的接口)
UML(Unified Modelling Language):统一建模语言。
字段:存储类要满足其设计所需要的数据,一般有public(共有的,没有限制访问)、private(私有的,仅限于类的内部访问)、protected(受保护的,只可以在类的内部或者继承关系以外的情况下访问)(Java中还有一种默认的访问权限,没有任何标识,表示可以在包内访问)。
属性:一个方法或一对方法,但在调用它的代码看来,它是一个字段,即属性适合于以字段的方式使用类相关的变量。(属性=字段+set方法+get方法)
get访问器(get方法):调用时可以得到对象内部字段的值或引用。
set访问器(set方法):调用属性时可以给内部的字段或引用赋值。
方法:对象的行为表示是通过方法体现的,面向对象中的方法类似于面向过程中的函数,通过对对象的方法调用,我们才知道对象所能完成的行为。一个方法描述了对象可以执行的一个操作!
方法调用:向某个对象“发送消息”,这个对象便知道此消息的目的,然后执行对应的程序代码。
方法重载:提供了创建同名的多个方法的能力,但这些方法需要使用不同的参数类型。
构造方法:又叫构造函数,其实就是对象进行初始化。构造方法与类名同名,无返回值,又不需要添加void关键字,在new时候调用。
析构函数(Java中没有,Java中拥有垃圾回收机制):Dispose方法,释放对象时所调用的方法,确保计算机的性能。
事件:用某个外部行为所引发的对象方法。它可与用户行为或系统行为相关联。