java面向对象的三大特性和五大基本原则

1.继承

继承是一种子类复用父类的属性和方法的一种机制,这是属于类与类之间的关系,在java中用extend关键字,提供继承信息的类称为父类(超类,基类);得到继承的类称为子类(派生类),继承让软件系统中有了一定的延续。如果父类具备的功能需要子类特殊定义的时候,需要进行方法的重写。

2.封装

封装是一种信息隐蔽的技术,他的目是使得对象的使用者和生产者分离,使对象的定义和实现分开。通过对数据的封装,使用者对数据的访问只能通过特定的接口(如:get set方法)。面对对象的本质也就是将一个事物的 属性,行为,抽象出来,封装成一个对象,这是对数据和操作数据的一个封装,我们在类中编写方法,就是对细节的一种封装。也就是说,封装就隐藏一切可以隐藏的东西,只对外部提供最简单的编程接口。

3.多态

多态,从字面上理解,那就是多种形态,其实就是不同对象,对同一消息而做出不同的相应。在使用多态的时候,用户发送一个通用的消息,而实现的细节,则由接收的对象自己决定,这样同一消息就可以调用不同的方法。多态可以分为编译时多态和运行时多态。

1)、我们平常所说的多态,大部分是运行时期的多态,当A系统访问B系统时,对于A系统只知道B系统提供的接口,一切细节,对A来说都是透明的,所以A调用B的接口,对于不同的实现A可以得到不同的回应。这个是在运行时期的决定,也叫做动态绑定。
实现运行时期的多态需要满足三个条件:1、类的继承(或者接口的实现) 2、子类重接父类的方法(或实现接口方法)3、父类的引用指向子类的对象(接口的引用,指向具体的实现)继承和封装 都是为多态作准备的

2)、方法重写是运行时期多态的体现,不过也有人提出重载也算是一种静态多态的想法,这个问题在stackOverflow等网站中有过讨论,但是并没有定论

面向对象的五大基本原则

1、单一责任制原则一个类,最好只做一件事情,只有一个引起他变化的原因。
2、开放密闭原则对于软件,应该是可以扩展的,而不可以修改的啊,也就是说对修改封闭,对扩展开放。
3、里氏原则,在父类出现的地方,子类要能替代,这个是对继承机制的约束,只有子类能够替换子类,才能保证运行时期识别子类。
4、依赖倒置原则依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都依赖于抽象;抽象不依赖于具体,具体依赖于凑想,面向抽象编程。
5、接口隔离原则,接口应该各执其职,应该使用小的专门的接口,而不应该使用一个大的总的接口。

你可能感兴趣的:(Java基础)