Java面向对象程序设计的三个特点

面向对象程序设计具有的特点

1、封装性

  封装是面向对象编程的核心思想,之前提及过类是作为封装对象属性和方法的载体。在实际生活中,类通常对客户隐藏了其实现的细节,这就是封装的思想。在Java中调用包或者Java已有的类,这些类都是封装好了的。
  封装的思想能够保证类内部数据结构的完整性,应用封装好的类的用户只能够使用类允许公开的数据,这样能避免外部操作对内部数据的影响,提高了程序的可维护性。(其实我觉得这才是商业价值的体现之处吧,有了封装的概念才能有效地保护程序不受盗窃或攻击)图1便是封装的特性图示。
在这里插入图片描述

图1.封装特性图

2、继承性

  继承这个特点,顾名思义,父亲的产业由他的孩子所“继承”,由此衍生出父类子类的概念。举个例子加深对“继承”这个概念的理解。鹦鹉是鸟类中的一种类型,它具有与鸟类相同的属性和行为,在创建鹦鹉类时可以将鸟类来复用,并且保留鸟类具有的属性和行为。不过,并不是所有的鸟都会说人话,因此需要再添加鹦鹉具有的独特属性及行为。这就相比于人类而言,孩子长相上像父亲,但是有可能性格却截然相反。鹦鹉类保留了鸟类的属性和行为,这样就节省了定义鸟和鹦鹉共同具有的属性和行为的时间,这就是继承的基本思想
  在实际的程序编写中,使用继承的思想能够缩短软件开发的时间,复用那些已经定义好的类可以提高系统性能,减少系统在使用过程中出现错误的概率。
在这里插入图片描述

图2.图形类层次结构图

  图2所示为图形类层次结构关系图,从图中可以看出其继承关系,父类与子类存在着一种层次关系。一个类处于继承体系之中,它既可以是其他类的父类,为其他类提供属性和方法;同时也可以成为其他类的子类,继承父类的属性和方法。如四边形是图形类的子类,也是矩形的父类。


3、多态性

  从第2点继承性了解到了父类与子类,其实多态就是将父类对象应用于子类的特征之中。我们用图2的图形类来说明多态的思想,每个图形都具有绘制自己的能力,这个能力可以看做是类的行为也就是(方法),如果将子类的对象统一看做是父类的实例对象,当要绘制图形时,只要调用父类(图形类绘制图形的方法)便可以绘制任意图形,这就是多态的基本思想。
  多态允许以统一的 风格编写程序,以处理种类繁多的类。由于整个的处理步骤都只依赖于父类来实现,所以日后的维护只需要调整父类即可,降低了维护的难度,节省了软件开发时间。
  以上提到的是多态的思想和优点,而多态的实现就得提到抽象类接口
  图形类作为所有图形的父类,具有绘制图形的能力,这个方法可以成为“绘制图形”,但是执行这个方法的命令时,并不知道应该画什么样的图形,并且如果要从图形类中抽象出一个图形对象,也说不清楚到底是一个什么样的图形,所以使用“抽象”这次词来描述图形类比较恰当。在Java中,父类一般会定义为抽象类,而抽象类因其特点,不能实例化对象,只能交给下面的子类解决,其中抽象类中的方法也是抽象的。
  由抽象方法组成的集合就是接口。依然用“绘制图形”这个方法举例,“绘制图形”作为一个接口的抽象方法。首先使图形类实现这个接口,同时实现“绘制图形”这个抽象方法,当四边形类需要绘制时,我们可以继承图形类,重写其中的“绘制图形”方法,并改写这个方法为“绘制四边形”,这样我们就可以通过接口这个标准来绘制不同的图形。图3所示为用“接口”这个标准来绘制不同的图形。
在这里插入图片描述

图3.“接口”标准绘制各类图形示意图

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fish_Vast

您的打赏是对我最大的支持!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值