面向对象的三大特性:
目的:实现代码的复用
具体介绍:
protect)修饰| 类型 | private | 无修饰(包限制) | protect(包和子类限制) | public |
|---|---|---|---|---|
| 同一类 | ? | ? | ? | ? |
| 同一包中的子类 | ? | ? | ? | ? |
| 同一包中非子类 | ? | ? | ? | ? |
| 不同包中子类 | ? | ? | ? | ? |
| 不同包中的非子类 | ? | ? | ? | ? |
定义:隐藏对象属性和实现细节,仅对外公开接口,控制读和修改的访问级别
目的:增强安全性,简化编程
基本实现:属性私有化,添加get,set方法,控制接口访问业务
同一个行为具有多种不同表现形式或形态的能力
同一接口,使用不同的实例,执行不同的操作
| 接口 | 抽象类 |
|---|---|
| 只能存在抽象方法 | 提供成员方法的实现细节 |
| 只能存在抽象的成员变量 | 成员变量可存在多种类型 |
| 不能含静态代码块和静态方法 | 可以有静态代码块和静态方法 |
| 一个类可以实现多个接口 | 一个类只能继承一个抽象类 |
| 接口 | 抽象类 |
|---|---|
| 行为抽象 | 事物抽象 |
| 针对事物的局部行为抽象 | 针对整体事物:属性,方法抽象 |
| 接口是一种行为规范,辐射式设计 | 抽象来可做很多子类的父类,模版式设计 |
| 一旦进行变更,实现类必须变更 | 一旦进行变更,实现类可不进行变更 |
原文:https://www.cnblogs.com/xm08030623/p/12418298.html