java面向对象

java面向对象

ID:39550087

大小:218.00 KB

页数:20页

时间:2019-07-06

java面向对象_第1页
java面向对象_第2页
java面向对象_第3页
java面向对象_第4页
java面向对象_第5页
资源描述:

《java面向对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象为什么要写这篇文档?我写这篇文档只是想把我所认识的面向对象理论给表达出来,并希望可以给一些开发者以启示作用。而我目前并不打算开放它们,因为还没有写完呢。所以现在请勿评论。什么是面向对象?面向对象是一种程序设计的范式。面向对象使用对象,类,封装,继承,多态,消息等概念来进行程序设计。为什么面向对象?面向对象符合人类对世界的认知规律。简单说,人类个体认识世界是从对周围事物的观察开始的,而且是从具体到抽象的,并且认识到事物的属性,状态,行为等等,以及事物之间的相互关系。而面向对象就是对这种思维方式的抽象表

2、达。面向对象与面向过程并不矛盾。面向对象着重刻画系统中对象的关系和相互作用,已经对象本身的属性,状态,和行为。面向过程则是侧重于描述过程。而面向对象的程序设计,是无法离开面向过程的范式。什么是对象?万事万物皆对象。我以为这句话很精彩,因为它带有佛偈一样的色彩。于是,不同的人理解这句话,有着不同的看法。我们并不想在这句话本身做更多的讨论,那太宗教哲学了。你们看那天上的飞鸟,不稼不穑,我尚且养活它们,你们不比那飞鸟贵重得多吗?----《马太福音》我们在这里至少看到了飞鸟就是一种对象,而在我们的世界中,充满了对象

3、,人,飞鸟,百合花。齿轮,轴承,阀。桌椅,鼠标,液晶显示器。我们认知世界是从具体到抽象的。如果只是把看得见,摸得着的东西定义为对象,那么这未免太简单了。一个过程,一个办法,一个概念也可以是对象。至于,一个对象是具体的,还是抽象的,我想这是一个哲学问题,也许取决于每一个人对一个事物的认识程度罢。对象有其类型我们不得不诠释类型的概念。int a = 1;这里,变量a的类型是int,那么它的类型就是int。当我们要表示年龄,数量,这样的信息的时候,int类型的量就可以完成描述了。而一个矩形呢?它的类型是什么呢?我

4、们知道在C语言里面采用struct关键字来描述这样的类型。structPoint{    int x;    int y;};structPointp1;structPointp2;p1.x=0;p1.y=0;p2.x=0;p2.y=1;Point就是我们自定义的类型了,那么这个类型的变量,我们就可以称为是一个Point类型的对象了。在上面的代码中,我们说Point是类型,而p1和p2是Point类型的两个实例。对象和类初学者常常对语言中的static成员感到疑惑,于是我们讲解一下static关键字的面向对

5、象的意义。这个static已经不是C语言中的static了。看如下代码:class Point{    static int count;    int x;    int y;}这里,我们有三个成员,其中,count被冠以static关键字。那么它与成员x,y就有了非常大的差别了,我们称count是类成员,而x和y是对象成员。count成员不属于某一个对象,不是某个对象的属性,而是属于整个类。在一个二维平面上,有若干个点,那么每一个点就是一个Point类的实例对象,它们有自己的坐标,一个点的x值(横坐标)

6、,和另外一个点的x值是两个不同的量(尽管它们的值可能相等),而这个平面上点的数量只有一个,是Point实例的个数,并且,这个数量不属于某一个Point实例的属性。[对于C++的程序员来说,类成员往往被直接翻译为静态成员了,但是这似乎不能直观地反映它的意义。]在这个系列的专题中,请大家注意对象这个词,有时候,它可能强调对象的类型的概念,有时候则表达对象实例的含义,而有时候则含有这两重意思,读者要仔细辨析和体会。但是初学者,还是要注意区分类型和实例之间的关系。在这个系列的专题中,我尽量采用C++和Java代码作

7、为例子,而且会忽略其中的一些语法要素,比如是private还是public,是int,还是Integer。并且还有可能用C#,JavaScript,Ruby的代码作为例子。但是大家能体会到代码所表达的意义即可,不必深究其中的语法细节。面向对象初步我们开始讲述和程序设计相关的面向对象理论,主要涉及到消息,封装,继承,多态等内容。消息其实我并不喜欢消息这个概念,因为当时我学习面向对象导论的时候,已经有过Windows编程的经验了,而面向对象的消息和Windows的消息机制并无关系。因为面向对象强调对象的行为和对

8、象之间的相互作用,而这种行为是以消息体现出来的。当某一个对象收到消息的时候,则对象对此做出反应。而实际体现到具体的语言上,则往往是以方法的调用来体现这一概念的。 obj.function();我们给对象obj发送某消息,就是用调用对象obj的方法来表明这一概念的。如果有Objective-C的基础,那么理解这个概念将更加容易。[一般有C语言基础的人,更习惯于称方法为函数,这里我统一称其为方法,因为我以为方法更多地

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。