类 (class) 是程序中最基本的、最重要的组成单元,是对具体特征的抽象。
对象 (object) 是具体的,面对的,要操作的事物。
面向过程的开发是以实现程序的基本功能为主,实现之后就完成了。
面向对象的开发是以实现程序模块化的设计为主,每个模块都需要单独存在,并且可以被重复利用,标准化。
1、封装是面向对象的方法所应遵循的一个重要的原则。
封装具有两个含义:
一是指把对象的成员属性和行为看成一个密不可分的整体,将这两者 “封装” 在一个不可分割的独立单位(对象)中。
二是指 “信息隐蔽”,把不需要让外界知道的信息隐藏起来。
有些对象的属性及行为允许外界用户知道或使用,但不允许更改;而另一些属性或行为,则不允许外界知晓,或者只允许使用对象的功能,而尽可能隐藏对象的功能实现细节。
在程序设计中表现为,把描述对象属性的变量与实现对象功能的方法组合在一起,定义成一个程序结构。保证外界不能任意更改其内部属性值,也不能任意调动其内部的功能方法。
2、继承是面向对象的方法中的重要概念,是提高软件开发效率的重要手段。
首先继承拥有反映事物一般特性的类,其次在其基础上派生出反映特殊事物的类。
继承实现前一定要有一些已经实现的类,这个类可以是自定义的类或者是有类库所提供的类。
用户开发程序需要继承这些已有的类。
新定义的类结构可以继承已有的类的结构(属性或方法)
被继承的类称为父类或超类,而经继承产生的类称为子类或派生类。根据继承机制,派生类继承了超类的所有内容,并相应的增加自己的一些内容。
继承机制增强了代码的可重复使用性,提高了软件的开发效率,降低了程序产生错误的可能性,也为程序的修改扩充提供了便利。
Java中规定,只能单继承,和使用接口(interface)代替多继承。
3、多态是指允许程序中出现重名现象。Java中有 方法重载 和 对象多态 两种形式的多态。
方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
对象多态:子类对象可以与父类对象进行相互转换,而根据其使用的子类的不同完成的功能也不同。
多态的特性使得程序的抽象程度更高,更加简洁,有助于程序设计人员对程序的分组协同开发。