一、封装
1、概述
封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。
2、原则
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。(提供对应的getXxx()/setXxx()方法)
3、优势
(1)通过方法来控制成员变量的操作,提高了代码的安全性。
(2)把代码用方法进行封装,提高了代码的复用。
4、privat关键字
概述:private是一个修饰符,可以用来修饰成员变量、成员方法。
特点: 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,需提供相应的操作。
提供---getXxx()方法,用来获取成员变量,方法用public修饰。
提供---setXxx()方法,用来设置成员变量,方法用public修饰。
二、继承
1、概述
面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法。
2、实现继承的格式
class 子类 extends 父类{ }
例:class Zi extends Fu{ }
3、优势和弊端
优势:
(1)继承可以产生子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。
(2)提高了代码的复用性(多个类相同的成员可以放到同一个类中)。
(3)提高了代码的维护性(如果方法的代码需要修改,修改一处即可).
弊端:
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。
三、多态
1、概述
同一个对象在不同时刻表现出来的不同形态。
2、多态的前提
(1)要有继承或实现关系
(2)要有方法的重写
(3)要有父类引用指向子类对象
3、多态中的成员访问特点
(1)成员变量
编译看父类,运行看父类。
(2)成员方法
编译看父类,运行看子类。
4、优势和弊端
优势:提高程序的扩展性
①定义方法参数时,使用父类型作为形参,在调用方法时,使用具体的子类型作为实参。
②定义方法返回值时,使用父类型作为返回值类型,具体return时,返回子类的对象。
弊端:不能使用子类的特有成员。
5、引用数据类型转型---多态转型
(1)向上转型
父类引用指向子类对象就是向上转型
格式:父类型 对象名 = 子类对象;
(2)向下转型
格式:子类型 对象名 = (子类型)父类对象;