面向对象的三个基本特征是:封装、继承、多态。
封装可以隐藏实现细节,使得代码模块化,目的是为了代码重用。
继承可以扩展已存在的代码模块(类),目的也是为了代码重用。
多态是为了实现接口重用!多态的作用,是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
封装(Encapsulation)
1.封装的定义
封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象。
对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作。
2.封装的优点:
1.隐藏实现细节。
2.安全性。
3.增加代码复用性。
4。模块化。
3.封装的使用
1.使用private修饰符,表示最小的访问权限。
2.对成员变量的访问,统一提供setXXX,getXXX方法
继承(Inheritance)
1.什么是继承
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。当然,如果在父类中拥有私有属性(private修饰),则子类是不能被继承的。
2.继承的特点
1.提高代码复用性。
2.父类的属性方法可以用于子类。
3.可以轻松的定义子类。
4.使设计应用程序变得简单。
3.继承的使用
1.在父子类关系继承中,如果成员变量重名,则创建子类对象时,访问有两种方式。
a.直接通过子类对象访问成员变量
等号左边是谁,就优先使用谁,如果没有就向上找。
b.间接通过成员方法访问成员变量
该方法属于谁,谁就优先使用,如果没有就向上找。
4.继承的注意事项
1、父类变,子类就必须变。
2、继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的。
3、继承是一种强耦合关系。
多态(Polymorphism)
1.什么是多态
多态是同一个行为具有多个不同表现形式或形态的能力。
2.多态的特点
1.消除类型之间的耦合关系,实现低耦合。
2.灵活性。
3.可扩充性。
4.可替换性。
3.多态的体现形式
1.继承
2.父类引用指向子类
3.重写
4.向上转型
父类名称 对象名 = new 子类名称();