面向对象编程OOP

来源:互联网 发布:日式装修知乎 编辑:程序博客网 时间:2024/05/15 23:20

Java是一个支持并发、基于类和面向对象的计算机编程语言。面向对象软件开发的优点:

代码开发模块化、更易维护和修改;代码复用;增强代码的可靠性和灵活性;面向对象的编程有很多重要的特性,比如:封装、继承、多态和抽象。

封装

封装给对象提供了隐藏内部特性和行为的能力,对象提供一些能被其它对象访问的方法来改变它的内部数据。在java中,有3种修饰符:public、private和protected。每一种修饰符给其它的位于同一个包或者不同包下面对象赋予了不同的访问权限。

封装的优点:通过隐藏对象的属性属性来保护对象内部的状态;提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或扩展;禁止对象之间的不良交互提高模块化。

多态

多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力,一个多态类型上的操作可以应用到其它类型的值上面。

继承

继承给对象提供了从基类获取字段和方法的能力。继承提供了代码的重用性,也可以在不修改类的情况下给现存的类添加新特性。

抽象

抽象是把想法从具体的实例中分离出来的步骤,因此,要根据它们的功能而不是它们的实现细节来创建类。java支持创建只暴露接口而不包含方法实现的抽象的类,这种抽象技术的主要目的是把类的行为和实现细节分离开。

抽象和封装的不同点:

抽象和封装是互补的概念,一方面:抽象关注对象的行为,另一方面:封装关注对象行为的细节。一般是通过隐藏对象内部状态的信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。