delphi以vcl的强大优势赢得了垂青。
我想问的是,vcl在实际应用中,能够应用到什么程度,如如何与面向对象进行结合开发等?
有答者皆有分相送,旨在促进交流,共进步!

解决方案 »

  1.   

    Borland是最早开发面向对象编译器的公司之一,而且公认做的最好,如DOS下的Borland C++ 3.1,Pascal 7.0等。Borland在Windows环境下的C++陷入困境后,靠以VCL为核心的Delphi重新领导了面向对象程序开发新潮流,VCL之所以强大,很重要的原因就是面向对象的开发,只要你真正掌握了VCL的精髓,几乎可以说,你想应用到什么程度就到什么程度。至于如何开发,不就是继承、重载、封装。
      

  2.   

    呵呵,vcl本身就是利用oo思想的最好的例子
      

  3.   

    VCL做了这么多封装为了什么,不就是为了让你更好的进行过程式编码吗?
      

  4.   

    使用VCL进行面向对象的开发,其实也就是利用面向对象的方法来开发VCL;这是本质!
    复杂一点说,就是利用面向对象的方法开发的VCL组件来完成若干具体的功能,实现一个完整的工程项目。
    具体来说,话就长了,必须一点一点的积累,就像学英语一样,是一个长期的过程;
    首先应该学会使用,也就是要掌握通常所说的技巧;然后就是真正的开发工作,进行基本的VCL开发等等。
      

  5.   

    上面说得都是正面的,我也提一些反面的:VCL的确是基于面向对象的,但实际上它对面向对象开发的支持并不完善,或者说,我们可能很难建立一套基于VCL的完全是面向对象的系统!但也要注意:这正是它的优点!因为它是面向完全开放环境的,所以VCL要做的不是让你完全地以面向对象的方式去继承、重载、封装它,而是让你可以更直接地在任何环境中有效地使用它,因此,我认为它实际上更象是面向框架的!(注意:"框架"比"类"的可重用性要高得多!)
    当然,这并不意味着你不能用它去做面向对象的系统,它依然能很好地被面向对象系统所引用,只是你会发现,实际上你有不少时间是在使用面向过程的手段.我觉得这才是DELPHI的真正意图--'面向对象'是'面向过程'的有效扩展,而不是取代!具体的运用,你可以先学一下UML,然后针对DELPHI进行一些变更,实际使用可能比书上说得要复杂一些(就是对VCL的引用问题,有时是面向对象的,有时则不是)下面有我提的一个有关这方面的问题,但回答的人很少:
    http://expert.csdn.net/Expert/topic/1794/1794284.xml?temp=.4448358(以上是我个人见解,因为对Delphi了解不是很深,所以可能分析得有错误,请谅解)
      

  6.   

    现对我的问题提出一个应用,更好的探论vcl的应用:
        如人事管理中的员工信息管理,在面向过程开发方式直接体现为员工的增加、修改、删除、查询、打印、比例分析等操作,其在后台为对一表的操作。
        我的疑问是:如我把员工信息包装为一类,每个员工信息应为一实例,问题是我能否用vcl按面向对象进行包装,以及如何实现类与类(如与考勤、工资、培训等)的关联呢?如不能应如何进行开发呢?
      

  7.   

    VCL是控件(是类的集合,一个功能整体),不一定是一个简单的类,一般情况下它不会被继承,只是被使用.你说得问题和我提得有点象,你可以去看一下:
    http://expert.csdn.net/Expert/topic/1794/1794284.xml?temp=.4448358如果你认为"每个员工信息对应一实例"可行的话(那就请回答我的问题吧),关联完全可以:
      +------------------+
      |                  |
    [公司]----+  +--[财务管理]--+
      |       |  |       |      |
    [培训]---[员工]---[工资]--[考勤]
                |               |
                +---------------+
    上面都是类,我个人认为,VCL中的TQuery是用来生成员工、工资等的工具,也就是"公司"、"财务管理"类中的一个属性(由公司的TQuery控件来Add,Del员工,财务也一样)我对账务系统不了解,可能有错,但实现肯定是可以的,问题是这样对你的内存资源会有多大的要求,你想过吗?
      

  8.   

    能够应用到什么程度,
         ^^^^^^^^^^^^^^^^不懂你什么意思!如何与面向对象进行结合开发等?
    VCL本来就是基于面向对象的技术,但delphi并不像java等一样是完全面向对象的语言,我觉得正是这样,才会使delphi的vcl体制“老少程序员皆宜”--------------------------------------
    看见了么,
    那支蛾子,
    正飞向太阳,
    那就是我!
    --------------------------------------
      

  9.   

    能和 visual c++ MFC 相提并论的只有 delphi 的 vcl,
    vcl 不是纯面向对象的,MFC 也不是,而正是不是纯面向对的,
    才给 VCL 提供了活力,只要能掌握 VCL 的精髓就没有你干不了的,
    它把一些相对复杂的东西封装起来, 我们只要利用面象对象的思想
    去利用它,  就会觉的一切都是相对容易掌握。