Java核心技术--面向对象程序设计概述

来源:互联网 发布:java 专业技能 编辑:程序博客网 时间:2024/06/05 10:34

前面说了Java技术的数组,大概回顾了一下数组的基本知识,其他的基础类容不做一一的回顾。现在开始OOP最重要的一部分--对象和类的介绍,这一部分可以说是整个Java的基石,后面所有的编程都和类、对象离不开,可以说是所有面向对象程序设计的核心,所以这部分我会细细钻研一番,费得时间也会比较长,正所谓基础是做任何事情的第一步,也是最重要的。

面向对象程序设计是当今主流的程序设计范型,比如Java、C++等主流的编程语言。最近几年前端也出现了很多面向对象的程序设计语言,比如最近流行的angularjs。Java是面向对象的程序设计语言,所以必须掌握面向对象的程序设计规则,才能编写Java程序。

面向对象程序是由对象组成的,每一个对象包涵了对用户公开的功能部分和隐藏的实现部分。以后我们写的程序里面的很多对象来自标准库,比如String、Integer、Double等等都是标准库里的;还有我们自己自定义的类实现的对象,比如我们写一个People类。在实际的开发中,我们是使用自定义的类,还是选择从其他地方获取对象,更有的从其他地方购买对象,都是根据项目的实际需求来定的,也和项目的时间预算有一定的关系。所以,从根本上来说,只要对象能满足用户的需求,我们可以对使用对象具体实现不去关心。

最后在讨论一下传统的过程性结构化程序设计和OOP之间的区别。结构化程序设计通过设计一系列过程来求解过程,一旦确定了这些过程,就要考虑存储数据的方式。这就是pascal语言的设计者将其著作命名为《算法+数据结构=程序》(algorithms+Data structures=programs)的原因。也就是算法是第一位的,之后才是数据结构。这也就表明了结构化程序设计程序员的工作方式,首先确定如何操作数据,然后在考虑如何组织这些数据,以便于操作。而面向对象的程序设计正好颠倒过来了,把数据放在了第一位,然后在考虑操作数据的算法。最后总结一下,对于比较小的问题,使用过程化的程序设计比较合适,对于大型的问题,使用面向对象的程序设计比较合适。

用一个实际的例子来说明。比如我们要实现一个简单web浏览器,需要2000个左右的过程,这些过程可能对一组全局数据进行操作。如果使用面向对象的设计方式,大约需要100个类,每个类大约需要20个左右的方法。试想一下,如果程序出现bug,使用过程化设计的语言,需要在2000个过程找问题,而面向对象的设计,只需要在20个方法里面找,比较一下就能看出面向对象在大型项目里面的优势。

原创粉丝点击