Java-P:面向对象编程

-- ========================================================
-- ylb:Java
-- author:ylbtech
-- Type:面向对象编程
-- munu:面向对象编程(Java, C#)
-- thankyou:sunshine,谢谢您的付出
-- 7:11 2012/3/17
-- ========================================================
3.1 面向对象编程
  我们做任何一件事情都要有动机、有思路、有目标,就好比我们来学习,是因为不能熟练掌握一门实用的技术而不能找到一份好工作,还是因为我们要有了一份认证证书才能找到一份好工作呢?在目前社会证书满天飞的情况下,答案显然是前者,那么我们的思路和目标就要相应的调整了。拿证的目标是最终通过考试,可以临阵磨枪;掌握技能的目标是抓好平时积累,力求提高技能的熟练程度,毕竟任何软件公司是不会要一个一周才写出一条程序的人当程序员的。编程的具体问题也是这样。C语言是面向过程的,目标是走通完成的流程,过程中会发生很多调用,但是最终会执行完程序过程,所以我们编写C语言程序的时候重点是要放在main函数内部的流程处理与函数的调用上面。Java是纯面向对象的,目标是调用各种对象的数据和方法以完成希望实现的各种功能,这样我们在编写Java程序的时候,main函数已经不再是主要的问题了,我们需要把主思路放在如何找到合适的类或者编写适合的类,并且如何调用其功能上面。
 
3.2 对象和类
 3.2.1 对象(Object)
对象是面向对象方法的核心,首先从下面几方面理解这一重要概念。
1.对象具有很强的表达能力和描述功能。
我们要研究的任何事和物统称为对象。
1).对象可以是看的见、摸的着的有形实体,如计算机、飞机、汽车等;
2).对象也可以表示人或组织起的作用。如治病、教学、生产等;
3).对象还可以表示事件,如各种事故、演出、战斗、开会等;
4).对象更可以表示规则,如各种专家规则、约束条件、正则表达式等。
综上所述,对象既能表示最简单的结构化的数据,又能表示非结构化的、抽象的、复杂的事件和规则。
2.描述对象的两个要素:属性和方法
1).属性是用于描述对象静态特性(架构特征)的一个数据项。如描述一个人可用姓名、性别、身份证号等属性。
2).方法(也称服务)是用于描述对象动态特性(行为特征)的一个操作系列。如每个人都有工作、学习等行为特征。
3.对象体现了封装性能——实现了数据与操作的结合
对象就是一组属性和相关的方法的集合。这是面向对象方法和结构化方法的重大区别之一。
对象把它全部的属性和全部的方法结合在一起,形成了一个独立的基本单位。也就是说,对象将数据和施加于数据上的操作打包成一个不可分割的最基本的模块,使得仅有该类的有限个方法才可以操作、改变这些数据。这样,当数据出错时,只需检查有限个方法就可以。这是面向对象方法的封装性的一个重要表现。
4.对象具有唯一的标识(以下简称OID)
5.具体的对象必须参与一个或一个以上的类
在实际应用中,具体的对象应当参与类并作为该类的一个实例。在具体应用时,类实例和对象是同义词。
6.消息(Message)
对象之间是通过的发送和接收消息来建立联系的。
对象通过对外提供服务(方法)在系统中发挥它的作用。当系统中的其他对象要求这个对象执行某一服务时,面向对象方法就把向这个对象发送的服务请求称为消息。通过消息进行对象之间的通讯,如图3-1所示。这也是面向对象方法的一个原则:消息通讯为对象之间的联系提供了唯一合法的动态联系途径,从而确保了对象的封装性得到很好地实现。对象之间既能相互配合,又能够各自独立,互不干扰。

 

 

ylbtech-对象间消息传递 

7.对象具有高度的抽象性(Abstraction)
在面向对象的方法中,对象具有最高的概括和抽象能力:它可作为面向对象编程语言的类的最高的父类——根。如Java或C++语言都把最高层类都定为抽象的对象(Object)。
 
 
3.2.2 类
   类也是面向对象方法的一个非常重要的概念。把众多事物归纳、划分成类是我们在认识世界时经常采用的方法。分类所依据的原则是抽象,也就是忽略事物的本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性并将具有向同性质的事物划分为同一个类。例如:人、树、山等都属于高度抽象化的类。在面向对象的方法中,也采用了类的概念,并给出了下面的定义。
1.类是具有相同语义特性的对相集合。
所谓相同的语义特性是指:
1).同一类中的对象有相同的属性(也称为成员变量,它描述该类静态特性或结构特性)
2).同一类中的对象有相同的方法(也称为服务,它描述的是该类行为特性和动态特征)
3).同一类中的对象遵守相同的语义规则(共同的约束和规则)
2.为什么要有“类”的概念?
   有了类的概念之后,在具体的应用时就会大大地简化编程并提高效率:成千上万个对象如果都有相同的特性,只需统一地定义一个类,然后用这个类作为创建模板类建立众多的对象(类实例)就可。因此,往往将类形象地比喻为一个制造它的实力(对象)工厂,如图3-2所示。

 

ylbtech-类与实例的关系

 

warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2012-05-07 17:32  ylbtech  阅读(801)  评论(0编辑  收藏  举报