Java基础1:面向对象的三大特征
2017-09-08 02:03
176 查看
前言:面向对象的三个基本特征是:封装、继承、多态。
一、封装(Encapsulation)
①封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
②通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。
③Java的四种访问控制符:这四个属性的访问权限依次降低
public 对所有类可见。
protected 对同一包内的类和所有子类可见。
<default> 对同一包内可见,不使用任何修饰符。
private 对同一类内可见。
二、继承(Inheritance)
①继承是从已有类得到继承信息创建新类的过程。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。
②子类可以直接访问父类中的非私有的属性和行为,还可以扩展自己特有的属性和行为,即从一般到特殊的过程。
③Java只支持extends单一继承,但可以implements多个接口。继承中最常使用的两个关键字是extends(用于基本类和抽象类)和implements(用于接口)。
三、多态(Polymorphism)
①定义:
多态就是指一个类实例的相同方法在不同情形有不同表现形式。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。
②实现方式
覆盖:是指子类重新定义父类的虚函数的做法。
重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。
③运行时的多态是面向对象最精髓的东西,要实现运行时多态需要做两件事:
方法重写(子类继承父类并重写父类中已有的或抽象的方法);
对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。
一、封装(Encapsulation)
①封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
②通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。
③Java的四种访问控制符:这四个属性的访问权限依次降低
public 对所有类可见。
protected 对同一包内的类和所有子类可见。
<default> 对同一包内可见,不使用任何修饰符。
private 对同一类内可见。
二、继承(Inheritance)
①继承是从已有类得到继承信息创建新类的过程。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。
②子类可以直接访问父类中的非私有的属性和行为,还可以扩展自己特有的属性和行为,即从一般到特殊的过程。
③Java只支持extends单一继承,但可以implements多个接口。继承中最常使用的两个关键字是extends(用于基本类和抽象类)和implements(用于接口)。
三、多态(Polymorphism)
①定义:
多态就是指一个类实例的相同方法在不同情形有不同表现形式。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。
②实现方式
覆盖:是指子类重新定义父类的虚函数的做法。
重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。
③运行时的多态是面向对象最精髓的东西,要实现运行时多态需要做两件事:
方法重写(子类继承父类并重写父类中已有的或抽象的方法);
对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。
相关文章推荐
- java基础-面向对象三大特征(初学者)
- java基础学习笔记汇总之面向对象三大特征
- java基础复习2(面向对象 三大特征 内存机制)
- 黑马程序员 Java基础知识总结-面向对象三大特征
- 黑马程序员---java基础之面向对象(一)三大特征(封装,继承,多态)
- 黑马程序员_JAVA基础知识总结——面向对象三大特征
- Java基础之四:面向对象三大特征
- java基础(四)探探对面向对象三大特征之一 ——继承的理解
- Java基础:面向对象三大特征、五大原则
- [厉害了,我的JAVA基础](一)面向对象的三大特征
- 黑马程序员——Java语言基础——03.面向对象(2)三大特征
- Java基础--------面向对象三大特征
- JAVA基础_Java面向对象三大特征
- java基础(三)探探对面向对象三大特征之一 ——多态 的理解
- JAVA学习笔记——JAVA基础语法(三)——面向对象三大特征
- Java基础:面向对象三大特征、五大原则
- java基础第五讲——访问修饰符、面向对象三大特征、包装类、关键字
- Java面向对象的三大特征:
- Java 面向对象的三大特征:继承、封装【隐藏】、多态<为了适应需求的多种变化,使代码变得更加通用>
- Java中面向对象三大特征总结