java面向对象基本特征:封装、继承、多态
2017-05-01 15:08
567 查看
一、封装含义:类的设计者把类设计成一个黑匣子,所用者只能看见类中定义的公共变量和公共方法,而看不见方法的具体实现细节,也不能对类中的非公共数据进行操作。这样可以防止外部对内部的干扰和误用。封装可隐藏细节,使代码模块化。
封装的目的:在于将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,只须调用设计者的接口来访问对象。同时减少了程序部分之间的依赖性,降低了程序的复杂性。由于隐藏了其内部的细节,使内部信息不易受到破坏,安全性有了保证,同时也为外部访问提供了简单方便的界面。
封装的实现:java定义了四种权限:private,public,dufualt,protected。
二、继承:利用已用类创建新类的机制,拓展已存在的代码块。我们可以创建一个公共属性的一般类,根据该一般类再创建具有特殊性的新类。新类的继承一般类的状态和行为,并根据需要增加它自己的状态和行为。
被继承的类叫做父类,继承而得的类称之为子类;
特征:一个子类只有一个父类,一个父类可有多个子类;
关键字:extends;
三、多态:同一消息可以根据发送对象的不同而采取多种不同的行为方式。简单说就是允许将子类类型的指针赋值给父类类型的指针。
实现多态的技术:动态绑定。在执行期间判断所引用对象的实际类型,根据其实际类型调用其相应的方法。
多态的作用:消除类型之间的耦合关系。
多态存在的三种必要条件:1、要有继承
2、要有重写
3、父类指向子类对象
多态的好处:
1、可替代性:对已存在代码具有可替代性。
2、可扩充性:
3、接口性:向子类提供一个公共接口,由子类完善或者覆盖它的实现。
4、灵活性:
5、简化性:
封装的目的:在于将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,只须调用设计者的接口来访问对象。同时减少了程序部分之间的依赖性,降低了程序的复杂性。由于隐藏了其内部的细节,使内部信息不易受到破坏,安全性有了保证,同时也为外部访问提供了简单方便的界面。
封装的实现:java定义了四种权限:private,public,dufualt,protected。
封装权限 | 同一类 | 同包不同类 | 不同包的子类 | 其它包 |
Public | ok | ok | ok | Ok |
Protected | ok | ok | ok | No |
Default | ok | ok | no | No |
private | ok | no | no | no |
二、继承:利用已用类创建新类的机制,拓展已存在的代码块。我们可以创建一个公共属性的一般类,根据该一般类再创建具有特殊性的新类。新类的继承一般类的状态和行为,并根据需要增加它自己的状态和行为。
被继承的类叫做父类,继承而得的类称之为子类;
特征:一个子类只有一个父类,一个父类可有多个子类;
关键字:extends;
三、多态:同一消息可以根据发送对象的不同而采取多种不同的行为方式。简单说就是允许将子类类型的指针赋值给父类类型的指针。
实现多态的技术:动态绑定。在执行期间判断所引用对象的实际类型,根据其实际类型调用其相应的方法。
多态的作用:消除类型之间的耦合关系。
多态存在的三种必要条件:1、要有继承
2、要有重写
3、父类指向子类对象
多态的好处:
1、可替代性:对已存在代码具有可替代性。
2、可扩充性:
3、接口性:向子类提供一个公共接口,由子类完善或者覆盖它的实现。
4、灵活性:
5、简化性:
相关文章推荐
- java面向对象基本思想--封装继承多态
- Java面向对象(二)面向对象的特征 --- 封装 、 继承、 多态
- 设计模式学习(一):java 面向对象特征:抽象、封装、多态、继承
- 面向对象基本特征----封装继承和多态
- Java 面向 对象之封装 、多态、继承 (2)
- 黑马程序员——Java面向对象(二)之封装、继承、多态、接口等
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
- 【java基础】--(2)面向对象特征之概念、封装、继承
- 面向对象语言的特征:封装、继承、多态
- Java面向对象的三个基本特征:封装、继承、多态
- C++之面向对象程序设计的基本特点(抽象、封装、继承、多态)
- java的基本特征:封装,继承,多态
- Java面向对象之封装、继承、多态
- java面向对象特性-封装、继承和多态
- 菜鸟的学习之路(3) —java 面向对象程序设计的封装、继承和多态
- Java基础(极客)——12、Java面向对象基本特征:继承
- java基本特征(封装、继承、多态)
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
- Java面向对象基本特征:继承
- 黑马程序员---java面向对象 封装, 继承, 多态