Topic: [转帖]面向对象的思维方法

  Print this page

1.[转帖]面向对象的思维方法 Copy to clipboard
Posted by: yekai
Posted on: 2004-01-28 00:41

作者:范凯
E-mail: robbin_fan@yahoo.com.cn

我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了Java运行起来慢吞吞的速度,相对冗长的代码,而且一个很简单的事情,要写好多类,一个类调用一个类,心里的抵触情绪很强。

我对Java的面向对象的特性琢磨良久,自认为有所领悟,也开始有意识的运用OOP风格来写程序,然而还是经常会觉得不知道应该怎样提炼类,面对一个具体的问题的时候,会觉得脑子里千头万绪的,不知道怎么下手,一不小心,又会回到原来的思路上去。

举个例子,要发广告邮件,广告邮件列表存在数据库里面。倘若用C来写的话,一般会这样思考,先把邮件内容读入,然后连接数据库,循环取邮件地址,调用本机的qmail的sendmail命令发送。

然后考虑用Java来实现,既然是OOP,就不能什么代码都塞到main过程里面,于是就设计了三个类:

一个类是负责读取数据库,取邮件地址,调用qmail的sendmail命令发送;
一个类是读邮件内容,MIME编码成HTML格式的,再加上邮件头;
一个主类负责从命令读参数,处理命令行参数,调用发email的类。

把一件工作按照功能划分为3个模块分别处理,每个类完成一件模块任务。

仔细的分析一下,就会发现这样的设计完全是从程序员实现程序功能的角度来设计的,或者说,设计类的时候,是自低向上的,从机器的角度到现实世界的角度来分析问题的。因此在设计的时候,就已经把程序编程实现的细节都考虑进去了,企图从底层实现程序这样的出发点来达到满足现实世界的软件需求的目标。

这样的分析方法其实是不适用于Java这样面向对象的编程语言,因为,如果改用C语言,封装两个C函数,都会比Java实现起来轻松的多,逻辑上也清楚的多。

我觉得面向对象的精髓在于考虑问题的思路是从现实世界的人类思维习惯出发的,只要领会了这一点,就领会了面向对象的思维方法。

举一个非常简单的例子:假使现在需要写一个网页计数器,客户访问一次页面,网页计数器加1,计数器是这样来访问的

http://hostname/count.cgi?id=xxx

后台有一个数据库表,保存每个id(一个id对应一个被统计访问次数的页面)的计数器当前值,请求页面一次,对应id的计数器的字段加1(这里我们忽略并发更新数据库表,出现的表锁定的问题)。

如果按照一般从程序实现的角度来分析,我们会这样考虑:首先是从HTTP GET请求取到id,然后按照id查数据库表,获得某id对应的访问计数值,然后加1,更新数据库,最后向页面显示访问计数。

现在假设一个没有程序设计经验的人,他会怎样来思考这个问题的呢?他会提出什么样的需求呢?他很可能会这样想:

我需要有一个计数器,这个计数器应该有这样的功能,刷新一次页面,访问量就会加1,另外最好还有一个计数器清0的功能,当然计数器如果有一个可以设为任意值的功能的话,我就可以作弊了。

做为一个没有程序设计经验的人来说,他完全不会想到对数据库应该如何操作,对于HTTP变量该如何传递,他考虑问题的角度就是我有什么需求,我的业务逻辑是什么,软件应该有什么功能。

按照这样的思路(请注意,他的思路其实就是我们平时在生活中习惯的思维方式),我们知道需要有一个计数器类 Counter,有一个必须的和两个可选的方法:

getCount() // 取计数器值方法
resetCounter() // 计数器清0方法
setCount() // 设计数器为相应的值方法

把Counter类完整的定义如下:

public class Counter {
public int getCount(int id) {}
public void resetCounter(int id) {}
public void setCount(int id, int currentCount) {}
}

解决问题的框架已经有了,来看一下如何使用Counter。 在count.cgi里面调用Counter来计数,程序片断如下:

// 这里从HTTP环境里面取id值
...
Counter myCounter = new Counter(); // 获得计数器
int currentCount = myCounter.getCount(id); // 从计数器中取计数
// 这里向客户浏览器输出
...

程序的框架全都写好了,剩下的就是实现Counter类方法里面具体的代码了,此时才去考虑具体的程序语言实现的细节,比如,在getCount()方法里面访问数据库,更新计数值。

从上面的例子中看到,面向对象的思维方法其实就是我们在现实生活中习惯的思维方式,是从人类考虑问题的角度出发,把人类解决问题的思维方式逐步翻译成程序能够理解的思维方式的过程,在这个翻译的过程中,软件也就逐步被设计好了。

在运用面向对象的思维方法进行软件设计的过程中,最容易犯的错误就是开始分析的时候,就想到了程序代码实现的细节,因此封装的类完全是基于程序实现逻辑,而不是基于解决问题的业务逻辑。

学习JDBC编程的经典错误问法是:“我怎样封装对数据库的select操作?”

面向对象的设计是基于解决业务问题的设计,而不是基于具体编程技术的设计。我不会去封装select语句的,我只封装解决问题的业务逻辑,对数据库的读取是在业务逻辑的编码实现阶段才去考虑的问题。

回过头看上面那个发广告邮件的例子,应该如何应用面向对象的思维方法呢?

对于一个邮件来说,有邮件头,邮件体,和邮件地址这三个属性,发送邮件,需要一个发送的方法,另外还需要一个能把所有邮件地址列出来的方法。所以应该如下设计:

类JunkMail

属性:
head
body
address
方法:
sendMail() // 发送邮件
listAllMail() // 列邮件地址

用Java来表示:

public class JunkMail {
private String head;
private String body;
private String address;
public JunkMain() { // 默认的类构造器
// 从外部配置文件读邮件头和邮件体
this.head=...;
this.body=...;
}

public static boolean sendMail(String address) {
// 调用qmail,发送email
}

public static Collection listAllMail() {
// 访问数据库,返回一个邮件地址集合
}
}

当把JunkMail设计好了以后,再调用JunkMail类完成邮件的发送,将是非常轻松的事情。

如果说传统的面向过程的编程是符合机器运行指令的流程的话,那么面向对象的思维方法就是符合现实生活中人类解决问题的思维过程。

在面向对象的软件分析和设计的时候,要提醒自己,不要一上来就去想程序代码的实现,应该抛开具体编程语言的束缚,集中精力分析我们要实现的软件的业务逻辑,分析软件的业务流程,思考应该如何去描述和实现软件的业务。毕竟软件只是一个载体,业务才是我们真正要实现的目标。

但是在设计过程中,心里却往往在担心,如果我完全不去考虑程序代码的实现的话,那么我怎么知道我的设计一定合理呢?我怎么知道我设计的类、接口一定可以实现呢?所以经常可以看到的现象就是:

在设计过程中,虽然知道不能过早考虑代码实现,但是每设计一个类,一个接口,心里都要不知不觉的用自己熟悉的编程语言大概的评估一下,看看能否编出来,因此,一不小心,就会又回到按照程序功能实现的思路进行设计的老路上去了。

举个例子来说明,在做Web程序设计的时候,经常要遇到分页显示数据的情况。比如说需要把系统中所有的用户都列出来这样的功能。假设使用User类来表示用户,增加用户addUser(),删除用户deleteUser(),查询所有用户listUsers()方法。而数据库中有一个user表,一条记录是一个用户的信息。下面考虑一下User类的方法的实现:

addUser()和deleteUser()方法都好实现,就是对数据库增加记录和删除记录。对于listUsers()方法,其实就是对user表的select,取出一个记录集。但是该怎么从listUsers()方法中得到所有用户的列表呢?

一个方法调用的返回值只有一个,没有多个,所以很多情况下采用的办法就是返回值定义为集合类型,比如Vector。这样就可以在listUsers()方法的具体代码实现的时候,从数据库依次取出一个个记录,插入到Vector里面来。在主程序里面,调用listUsers()方法可以返回一个Vector,然后再对Vector遍历操作,就可以得到用户列表了。

public class User {

public static void addUser(...) {
// 数据库insert一条记录
}

public static void deleteUser(...) {
// 数据库delete一条记录
}

public Vector listUsers(...) {
// 数据库select结果放到一个集合里面
}
}

这样的设计基本合理,但是仍然有点小问题。因为在设计的时候,就考虑到了用Java的集合类Vector来实现对不定长数据集的存放,因而违反了面向对象设计的一个原则:在设计的时候不应过早的考虑具体程序语言的实现。所以必须用抽象的方法,和具体实现无关的方法来表达业务逻辑。

我们知道,通常对具有集合特征的数据结构进行遍历通常可以使用next和hasNext方法,next实现取下一个用户,hasNext判断是否还有元素。 因此我们定义一个接口Iterator,这个接口中定义两个方法next和hasNext:

public interface Iterator {
public boolean hasNext() {}
public Object next() {}
}

而User类的listUses方法返回值改为Iterator接口的实现类:

public class User {
...
public Iterator listUsers() {
}
...
}

这样就把User类的设计和具体的实现方法分离开了,因为此时任何实现了next()和hasNext()方法的类都可以做为listUsers的返回值,都可以被用来表达“用户列表”,而不仅仅可以使用Vector而已。比如,我可以用ArrayList来表达用户列表,因为ArrayList也实现了Iterator,当然我也可以自己专门写一个类来存放用户列表,只要实现next()和hasNext()方法就行了。

这样在具体的编写代码的时候,程序员具有了最大的灵活性,可以根据具体的情况,采用不同的编程方法来存放用户列表。特别是降低了程序的耦合度,提高了程序的可移植性。对于上面那个JunkMail的listAllMail()方法也同样应该改为接口类型。

然后,在主程序里面就这样来使用User类的listUsers方法:

User myUser = new User();
Iterator iterator = myUser.listUsers();
while (iterator.hasNext()) {
iterator.next();
}

这样就可以完全不用考虑程序代码实现了,从高层次上把功能抽象出来,定义成为接口,同时又可以把系统设计的很合理,完全根据业务的需求来进行设计。

结语

通过上面的几个例子的设计说明,使用面向对象的思维方法,其实是一个把业务逻辑从具体的编程技术当中抽象出来的过程,而这个抽象的过程是自上而下的,非常符合人类的思维习惯,也就是先不考虑问题解决的细节,把问题的最主要的方面抽象成为一个简单的框架,集中精力思考如何解决主要矛盾,然后在解决问题的过程中,再把问题的细节分割成一个一个小问题,再专门去解决细节问题。

因而一旦牢牢的抓住了这一点,你就会发现在软件设计和开发过程中,你自己总是会不知不觉的运用面向对象的思维方法来设计和编写程序,并且程序的设计和开发也变得不再那么枯燥,而一个合理运用面向对象技术进行设计和架构的软件,更是具备了思维的艺术美感。

最后,愿面向对象的思维方法也能给您的程序设计之路带来创作的乐趣。

2.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 网络天使
Posted on: 2004-02-27 14:44

一个刚刚开始学JAVA的学生,对你非常感谢,从一年前开始学程序,一直都是结构化程序设计,现在学JAVA真有点不太习惯,早知道就先学JAVA了,

3.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: zxhhero
Posted on: 2004-11-23 11:35

I have saw,感触良多!

4.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: bluebaby
Posted on: 2005-02-14 01:02

一开始学习的就是学java,后来才学c++的
感觉也是很奇怪

5.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: tonny_yang
Posted on: 2005-04-04 22:30

面对如此字字珠玑、句句金石良言的文章简直无话可说

6.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: gufei_in_java
Posted on: 2005-05-07 17:52

言之有理。支持楼主。

7.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: wzzhewang
Posted on: 2005-06-23 13:07

一针见血

8.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: j2eesir
Posted on: 2005-06-30 15:44

Smile
通俗易懂的语言,感谢楼主。
很是受用。每每接触到一个问题的时候,曾试图从一个较高的层次分析它,可不知不觉中就考虑到技术实现的细节上,后来就不了了止

9.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: wuyiqiong
Posted on: 2005-07-01 21:26

真的很感谢~~
我现在学的就是JAVA但是我以前没有什么C或C++的基础~~所以我学起来我感到很难`~对于面向对象的程序设计的概念我一点都弄不懂~~
不过今天看了你的文章对我有很大的帮助~~
我知道了~看问题是不能死看的~~
要把它活用起来~~

10.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: hyhking
Posted on: 2005-08-18 09:34

不会啊
java本来就是极为面向对象的一切都是于类为主的啊

11.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: besthome
Posted on: 2005-09-08 10:11

精彩,受教了;应该在论坛多出现这样的贴子,那么中国的程序员群体必将会越来越壮大;其中我觉得最多的还是高手们对入门者的提醒与支持,这样入门者多了,群体自然就壮大了。

12.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: cgcai
Posted on: 2005-09-08 19:31

楼主的水平很高啊!
我佩服!我是新手,学过c c++对于java是刚想开始学!
希望自己学习一段时间以后也有这样的认识!

就是不知道要多少时间!?

13.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 推倒南墙
Posted on: 2005-09-08 22:38

受益匪浅啊,高人!!!

14.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: ltc603
Posted on: 2005-09-13 16:02

高手,说出了面向对象的精髓。

15.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: alexanderj
Posted on: 2005-09-19 22:19

真是一篇好文章!以前学java沿用的是c的方法,感觉学的很累,看了文章后,让我豁然开朗.

16.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: why
Posted on: 2005-09-19 23:17

以下是給敝人删掉的留言:

bigredbird 2004-02-26 谢谢!

PrimeJava 2004-03-16 学习!

hepatica007 2004-11-14 ok

xuxiang84 2005-01-11 Kisses

GreatChen 2005-03-10 好文章啊

xhy770228 2005-03-18 好

zhang520x 2005-06-28 顶!

yangun 2005-08-09 精彩,精彩!顶!!!

198run 2005-09-07 谢谢

17.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: vsjava
Posted on: 2005-09-25 16:45

真篇文章写的好,我收藏了!对我今后会有很大帮助

18.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: freebell
Posted on: 2005-09-28 16:43

楼主是一个很有思想的人。而且,如果能把一个深奥的问题说得很简单易懂的人,确实才算得上高人。这是理解而后实践升华后的东西啊。

想起上大学的时候,正好在大学二年级学物理学的时候,当时候有位北大的物理学教授上我们学校讲学,半个小时左右,把深奥的相对论讲得几乎人人能懂,当时候可是座无虚席,连过道都站满了人听教授讲,感觉是听到最精彩的演讲之一。每一句话都让人受益匪浅啊,因为他讲得其实已经超越了事情本身,而是一种思维方法,或者是—— 一种哲学!

19.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: bukaoyan
Posted on: 2005-09-30 09:32

太感谢作者了,看了你这篇文章,感觉自己在java的面向对象思维上迈了一大步,原来自己以前是那么的愚笨!
呵呵
非常感谢!

20.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: hcwyh
Posted on: 2005-10-13 13:57

好文章,谢谢楼主了

21.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: gfansenhua
Posted on: 2005-10-27 08:53

看完楼主的文章真的收获很大,楼主可否留下QQ或者MSN之烦的比较方便的联系方式和大家一起学习呢?

22.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: yjwwrh
Posted on: 2005-11-13 19:33

真的很感谢啊
^_^

23.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: xhxasdf
Posted on: 2005-11-15 12:53

04年的文章

我现在看了java编程思想 ,java与模式之后才有勒一点点这样的思想
以前根本就对oo一点了解都没有,现在一心高技术
搞通java,精通ejb之后考虑学c++

24.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: ldh0421
Posted on: 2005-11-15 21:17

受益!!!

25.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: lyc105
Posted on: 2005-12-18 19:23

主要oop的一个好处还是可以移植,可以比较灵活。可以实现一定的无关性

26.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: lyc105
Posted on: 2005-12-18 19:26

/*我可以用ArrayList来表达用户列表,因为ArrayList也实现了Iterator,当然我也可以自己专门写一个类来存放用户列表,只要实现next()和hasNext()方法就行了。*/
这段话我还是有点不大懂,楼主或者哪位仁兄可以解释一下吗?先谢了

27.Re:[转帖]面向对象的思维方法 [Re: zxhhero] Copy to clipboard
Posted by: lyc105
Posted on: 2005-12-18 19:31

zxhhero wrote:
I have saw,感触良多!

老大,是I have seen

28.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: jisuanji0608
Posted on: 2005-12-19 06:19

简单的例子和简短的文章使我受益很深,多谢楼主的发言

29.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: lyc105
Posted on: 2005-12-21 11:22

你们都在那拍马屁,都不愿解答我的问题,这就是你们的态度,晕啊

30.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: k99xjmlg026
Posted on: 2005-12-31 23:53


31.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: langhua983
Posted on: 2006-01-08 14:40



本人也是先学C++一些基础的

学的也是为了认识面向对象的概念

不过JAVA这语言太不好学了呀
要求的类太多了
也太死板了语法
都固定了呀

32.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 征服者
Posted on: 2006-01-09 15:31

真的是很不错! 我想作者是个爱动脑筋的人,思维很细腻.感谢楼主,我对面向对象和面向过程的概念又深了一层....

33.Re:[转帖]面向对象的思维方法 [Re: lyc105] Copy to clipboard
Posted by: kylin
Posted on: 2006-01-20 15:42

lyc105 wrote:
/*我可以用ArrayList来表达用户列表,因为ArrayList也实现了Iterator,当然我也可以自己专门写一个类来存放用户列表,只要实现next()和hasNext()方法就行了。*/
这段话我还是有点不大懂,楼主或者哪位仁兄可以解释一下吗?先谢了


因为Iterator中的next()方法返回的类型是Object,要知道java中所有的类都是继承Object的,所以如果继承了Iterator类,可以根据实际情况让next()返回合适的包含用户列表内容的类,

34.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: eqq2002
Posted on: 2006-02-07 15:48

可否不要这么快的结贴
我看TIJ,得出的对OOP的粗浅理解是代码的重用性。
类的设计,必然能重用代码,重用代码,就得考虑client programmer的想法,
类的设计,必然能方便维护,同时有不必改变client program.
多交流。
楼主的观点是个不错的角度

35.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: sunleef
Posted on: 2006-02-21 17:05

看了一些java的书,但是没怎么明白oop的具体含义,这篇文章让我茅塞顿开,谢谢!Big Smile

36.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: wyf_521125
Posted on: 2006-03-12 04:42

感谢楼主讲解

37.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 我所爱
Posted on: 2006-04-01 16:55

道出了00p编程的精髓!这种思想是需要在实践中磨练的啊!

38.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 仗剑游侠
Posted on: 2006-06-23 18:02

我也是刚刚学习JAVA,感觉面向对象的设计方法刚开始真的有点难懂,关键是头脑里难以建立起面向对象的概念,而且对类,对象,方法的概念总感觉难接受,今天看了这篇文章,大呼过瘾,我非常感谢中国JAVA网上有这么精辟的文章登出来,更要感谢楼主写出这么好的文章,谢谢了!
我会随时向楼主请教,不知是否愿意?

39.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: dybjsun
Posted on: 2006-06-26 10:58

有这么严重吗?不就是面向对象啊。

40.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 重庆崽儿
Posted on: 2006-07-23 11:42

迷惑中的人。
谢谢楼主

41.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: 随风之幻
Posted on: 2006-08-11 00:26

Thank you for your very good article.Often I thought the method when
makeing java programs.The end,it was over with no end.Haven read this
passage,I know what I should do when programming.it is a kind of thougt--oop.

I will put the classic passage away.thank you.

42.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: flowerpig
Posted on: 2006-08-12 15:10

以后要天天与java为伍了。

43.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: leibird
Posted on: 2006-08-22 08:37

真的是受益非浅啊。
从实践出发写出来的东东,就是和有些书上纯理论的东东不同。

44.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: sunxiaoming
Posted on: 2006-09-26 23:56

学习中!!!
高人!!

45.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: hushipeng
Posted on: 2006-10-10 15:31

思路很不错,加深了我的思维方法,谢谢!

46.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: jamesjava
Posted on: 2006-11-06 00:00

说得很有道理。自己得好好加油。

47.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: luolixin
Posted on: 2006-11-16 01:30

听君一席话,胜读十年书。我只能这样表达了

48.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: Revolution
Posted on: 2006-11-16 09:22

相当不错 哈 我是新人 给我很的的启发

49.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: Revolution
Posted on: 2006-11-16 09:22

相当不错 哈 我是新人 给我很的的启发

50.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: ka43333
Posted on: 2006-11-23 22:10

简洁的语言,深刻的道理,谢谢楼主

51.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: john31
Posted on: 2006-11-27 08:53

楼主是文章无疑是黑暗中的一盏明灯,给在黑暗中摸索的我指明了方向,非常感谢。Smile

52.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: yuejun923
Posted on: 2006-12-11 22:47

一个字,好!
还是一个字,顶!

53.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: yuejun923
Posted on: 2006-12-11 22:47

一个字,好!
还是一个字,顶!

54.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: nanshanwentao
Posted on: 2007-01-15 04:43

我们站在巨人的肩上,感谢巨人

55.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: cysky
Posted on: 2007-02-09 15:11

内容不错的,说明很在理,能够接受这个面向对象思想后才能学好java

56.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: sexyche
Posted on: 2007-03-13 07:33

我是个新手感觉对程序设计很迷茫啊。

57.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: yangqw010
Posted on: 2007-03-26 03:40

又把这篇文章看了
的确写得不错
还是很有收获
收藏到我的空间中

58.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: zfpei168
Posted on: 2008-02-24 06:14

言之有理。支持楼主。

59.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: Happy漫步者
Posted on: 2008-03-08 14:03

虽然是老帖了 但也讲解的很不错 希望更多经典的帖子出现 支持!

60.Re:[转帖]面向对象的思维方法 [Re: yekai] Copy to clipboard
Posted by: bzkfn
Posted on: 2008-03-19 11:09

讲的非常好,非常到位。我接触java快一年了,刚开始用java写程序的时候,老是想着代码如何实现的问题,显得思路非常的混乱;每次开会的时候项目经理总是语重心长的说:“每次都要我把你们的思路往上拽”。看了楼主这篇文章确实有了不小的收获,是呀,为什么我们不能站的更高一点看问题呢?忠心的感谢楼主!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923