Java新职篇:多态性、封装性与继承性相互作用是什么?

如果用得当,在由多态性、封装性和继承性共同组成的编程环境中可以写出比面向过程模型环境更健壮、扩展性更好的程序。精心设计的类层级结构是重用你花时间和努力改进并测试过的程序的基础,封装可以使你在不破坏依赖于类公共接口的代码基础上对程序进行升级迁移,多态性则有助于你编写清楚、易懂、易读、易修改的程序。
在前面两个与现实生活有关的实例中,汽车更能全面说明面向对象设计的优点,为介绍继承而用狗作类比也很有趣。总的来说,汽车与程序很相似,所有的驾驶员依靠继承性很快便能掌握驾驶不同类型(子类)车辆的技术。不管是接送学生的校车,或是默西迪斯私家轿车,或是保时捷汽车,或是家庭汽车,司机差不多都能找到方向盘、制动闸和加速器,并知道如何操作。经过一段驾驶,大多数人甚至能知道手动档与自动档之间的差别,因为他们从根本上理解这两个档的超类——传动。
人们在汽车上看见的总是封装好的特性。刹车和踏脚板隐蔽着不可思议的复杂性,但接口却是如此简单,你的脚就可以操作它们!引擎、制动闸及轮胎的大小对于你如何定义踏脚板类的接口没有任何影响。
最后的属性,多态性,在汽车制造商基于相同的交通工具所提供的多种选择的能力上得到了充分反映。例如,刹车系统有正锁和反锁之分,方向盘有带助力或不带助力之分,引擎有4缸、6缸或8缸之分。无论设置如何,你都得脚踩刹车板来停车,转动方向盘来转向,按离合器来制动。同样的接口能被用来控制许多不同的实现过程。
正如你所看到的,通过封装、继承及多态性原理,各个独立部分组成了汽车这个对象。
这在计算机程序设计中也是一样的。通过面向对象原则的使用,可以把程序的各个复杂部分组合成一个一致的、健壮的、可维护的程序整体。
正如本节开始时提到的,所有的Java程序都是面向对象的。或者,更精确地说,每个Java程序都具有封装性、继承性及多态性。尽管在本章将要介绍的简单示例程序及以后几章的示例程序中并未体现所有这些特性,但也有所体现。你将看到,Java提供的许多特性是它的内置类库的一部分,这个库使封装性、继承性及多态性得到更广泛应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值