书城计算机大话设计模式
2708800000008

第8章 面向对象的特征

大B:“那小师弟,面向对象它都有些什么特征哩?”

小A:“面向对象的三个基本特征是:封装、继承、多态。”

大B:“嗯,是的。那你能不能用图来说明?”

小A:“用图来说明?可以的。下面这个是我画的图,还得请师兄多指教。”

大B:“吼!不错嘛。”

大B“其实学习编程也没什么难的,我一开始也不知道的,不过学做了软件开发几年后,遇多了,还有更改最初想法的事件,就慢慢明白了它的道理。”

小A:“呵呵……这就是经验所得嘛!”

大B:“像你这么好学,一定能学好的!在我们生活中接触得最多是‘面向对象编程技术’,而‘面向对象编程技术’也是面向对象技术中的一个组成部分。面向对象技术需要面向对象的分析,设计和编程技术,也需要借助必要的建模和开发工具。”

小A:“师兄,能不能给我讲讲面向对象的优势具体有哪些呐?”

大B想,好学的小师弟,想想自己当年要是也能像小师弟这么好学的话,那肯定比现在学得好。

大B:“行呐!我讲给你听。1、要符合人们习惯的思维方法,便于分解大型的复杂多变的问题。由于对象对应于现实世界中的实体,因而可以很自然地按照现实世界中处理实体的方法来处理对象,软件开发者可以很方便地与问题提出者进行沟通和交流。2、易于软件的维护和功能的增减。对象的封装性及对象之间的松散组合,都给软件的修改和维护带来了方便。3、可重用性好。重复使用一个类(类是对象的定义,对象是类的实例化),可以比较方便地构造出软件系统,加上继承的方式,极大地提高了软件开发的效率。4、与可视化技术相结合,改善了工作界面。随着基于图形界面操作系统的流行,面向对象的程序设计方法也将深入人心。它与可视化技术相结合,使人机界面进入GUI时代。”

小A:“就如java语言,它都有哪些优点呐?”

大B:“java是目前最流行的语言不是没有道理的。1、最为显著的优点是它与平台无关。Java依靠它的运行库(Run Time Library)获得了以往任何一种语言都没有的平台无关性。同样的代码可以不用改动就可在Windows、Solaris、Unix等各种软硬件平台上运行。2、另外一个显著的优点是Java的类C 语法。Java从C 发展而来,对于当今世界上众多的c 程序员来说,Java显得并不陌生。3、面向对象。Java语言是完全面向对象的,区别于C 的‘半面向对象’。目前面向对象技术已经取代早期的结构化程序设计方法而成为计算机界的标准技术,因为事实证明面向对象技术处理复杂问题的优势远非其他方法所能及。4、健壮。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大缩短了开发Java应用程序的周期。Java提供Null指针检测数组边界检测异常出口字节代码校验。5、安全。java最重要的一点保证是:Java的安全体系架构。Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C 功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。6、多线程。简言之为一项任务多点开工,多线程带来的更大的好处是更好的交互性能和实时控制性能。在Java里,你可用一个单线程来调一副图片,而你可以访问HTML里的其它信息而不必等它。7、动态。Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C 语言进行面向对象程序设计所无法实现的。”

小A:“哇噻!你不说我还真不知道java语言还有这么多优点哩!嘿嘿!也真难怪现在最流行它了。”

大B:“是啊!不管哪种语言都有各自的优缺点,java的缺点就是编译、执行的速度太慢,所以java私塾建议你如果想学编程,不要总是问这个好不好,那个难不难,只要下定决心学就对了。”