以前做过程序员,我喜欢这个工作,到目前为止:我做过一些查询数据库的系统,也在一家公司做过一些类。贵阳的哪家公司相对比较正规,是由上面派任务单,完成类以后,自己写测试接口,然后上交。所以,我开始认识与学习面对对象。现在想问的问题是:
    一、各位有心得的高手,应该用怎么样的方法来学习面向对象。我有刘艺的《面向对象思想模式》、《Delphi高手突破》,我发觉里面对面向对象的思想谈得较深,但是用在实际方面,却无从下手。
    二、我以前写过一些类,但是不知道怎么样才能深入学习。数据结构很重要、统计原理很重要,但是在Delphi中怎么样体会呢?我现在因为家庭的原因,到了一个地方上当公务员,屁事不得,天天玩,没有激情!老婆也跑了,郁闷中,发贴出来请各位方家指点!

解决方案 »

  1.   

    建议认真学习四人帮的《设计模式》,及Bob的名著《敏捷开发》
      

  2.   

    面向对象是一种设计理念,而Delphi只是具体的语言实现,不用过于care语言。
    强烈推荐
    thinking in C++
    Design Patterngl2u
      

  3.   

    看 WIN32 API , 设计模式 别看刘书.
      

  4.   

    我觉得 , 如果是对面向对像比较感兴趣的话, 我建议你先看Java与模式, 如果觉得这本书不够了之后,可以看四人帮的《设计模式》,记住一定不要先看这本, 否则打击你的积极性,刘艺那本就算了, delphi高手突破还可以,不过, 不够深入,也可以说没有讲明白,  没事的时候可以去sourceforge.org上找一些开源的项目来看一下,人家的代码是怎么写的,人家的类是怎么进行抽像的,还可以打开delphi来看一下,VCL确实是一个非常不错的Frameword,可以学到很多东西!
      

  5.   

    用delphi搞开发,时刻都在面向对象,你没发觉?
      

  6.   

    如果你对面向对象没有什么感性的认识的话,请你先看看JAVA编程思想。并不是要你学习JAVA,而是想让你感受一下。我是看LIWEI 和 LIUYI 的书。最好等有了一个感性的认识之后再看看有关设计模式的书。这些讲的都是很抽象的。如果没有最基本的面向对象思想看起来就很吃力。凡事要一步一步的来嘛。祝楼主好运。
      

  7.   

    偶觉得要培养面向对象的思想就要在程序中多多实践,
    你可以看看刘艺<delphi面向对象编程思想〉。面向对象
    是一种方法,一种思想,同时又是一种技术。它力求更客观
    自然的描述现实世界,使分析和实现系统的方法同认识客观世界
    的构成尽可能一致。
      

  8.   

    面向对象的优点是很清楚的,可以大节约开发成本等。
    我要说的是,要怎么样才能很好的理解面向对象?在Delphi下,怎么样才能很好的掌握好这种思想理念。如果有朋友愿意,可以让我写一个类,我免费服务!
      

  9.   

    cybercake(数字蛋糕)说的好什么都是概念,关键还是看对项目的业务的熟练程度,当你感觉了如指掌的时候,再去分析具体用什么办法来写合适,先划分模块,再抽象,再实际设计类
      

  10.   

    和楼主有同样的感觉
    设计模式 我看了两遍了就是看不懂,郁闷。。
    不过我感觉JAVA的面向对象还可以看看,觉得挺有帮助的
      

  11.   

    cybercake(数字蛋糕)
    我觉得你的说法是非常直接的,我有这些的看法.但是我有一种想法始终不得其解。哪就是这种规划思想、抽象度,是不是用大量的代码生成为熟练程度的代价。我开贴的原因就是让你们这些高手将自己思想的提高性的东西拿出来共同提高一下!
      

  12.   

    <<cybercake(数字蛋糕)经典、到位~~顶
      

  13.   

    search "object pascal" use google, or on website community.borland.com, there is a free e-book.
      

  14.   

    : tigerii(tigerii) :本贴拒绝广告喔!
    面对对象的模式编程需要时间与代码来的培养良好的程序思维习惯!当然,有多少公司愿意给你时间来形成这种思维方式呢?我的写过一些类,对程序设计也比较执著,但是,要我来说明或者说,我是否有了面向对象的设计模式,我心里还真没有底。
      

  15.   

    to zhanjiajun(叶樊)OOP并不是要求人门把所有的数据类型都写成类,也并不是为了实现一个XXX.XXX的方便的调用方式。前面有人提到了一个耦合度的概念,其实非常真切。所谓耦合就是指程序各个部分之间互相依赖的程度。就拿前面有人提到的通信的例子来说,一个通信系统分为三个部分:发送,传输和接收。如果不采用OOP的思想,那么发送和接收部分会根据传输协议的不同而发生变化,比如数据包的结构等。采用OOP的思想后,“传输”的概念被抽象出来,因为对于发送和接收部分来说,它们只关心真实的数据,数据包中的其他辅助信息(IP,路由,加密,校验什么的)对它们来说并没有意义,所以对发送和接收部分来说,一个“抽象”的信道就是“我发送什么,另一端就收到什么”。由此,发送接收部分与传输部分的接口就被简化到只有一个参数:数据。(当然,假设只有两个终端)而数据的打包则有传输部分完全负责。这样一来,无须修改发送和接收部分,只通过简单切换不同的传输部分,就能够满足不同协议网络上通信了。在这里,“传输”本身是一个“抽象类”,对于具体协议的传输是“派生类”,对某个传输协议的简单扩展(比如添加加密或校验)称为“继承”。这种降低耦合的功能规划称为“封装”,这种一个接口,多种实现的特点称为“多态”。
      

  16.   

    cybercake(数字蛋糕) :多谢指教,上次我做的哪个打印程序也多谢你,我由于如今在一个公务员单位上班,时间太多,钱太少,才有心思来着磨一下这个东西。其实,我觉得面向对象的思考模式就是一种将:项目规划后,独立成立的抽象能力。即:有一人东西可以从底层来做,如上面提到的:接收类。做成一个二进制流什么的来进行发送,而接口只提供一个数据流接口,而与其它的内容无关。是吗?但是,这种能力需要时间,更需要实践!
      

  17.   

    http://community.csdn.net/Expert/topic/3299/3299427.xml?temp=.6244165这个是我以前的一个帖子,也许对你能有所帮助
      

  18.   

    有没有在深圳的朋友,能不能不讲讲在哪边一个月可以拿多少?
    技术一般般,可以开发简单的应用程序或者配合团队进行软件开发,以前参加过BANT网络软件系统的开发,在贵州的一个研发部工作过半年。
    数字:
    你好像从来不上QQ的?可以给一个联系方式吗?
      

  19.   

    自从上个世纪大学毕业后就不用QQ了。给我写Email吧:[email protected]