学习Delphi面向对象编程的一点心得

以前我是完全不理解类的概念的,我只是把它当成一个Record来看,只不过它里面可以包含函数和过程罢了。但深入VCL学习后我才发现,原来面向对象的世界是这么精彩。

 

大家都应该见过闹钟吧?随便给一个人一个闹钟,他都会用,不管是电子钟还是机械钟。但如果给一个人一堆零件,有谁能够将他们组装成一个闹钟呢?如果没有专业的知识,恐怕没有人会。为什么呢?为什么人人都会用但很少人懂得其内部结构呢?因为闹钟这一类事物提供一个标准的操作接口,如发条、钟表盘等。不管是液晶屏还是钟表盘,虽然他们形式不同,但他们都是用来显示时间的;同时,闹钟有隐藏了其内部实现的细节,用一层外壳将他们“封装”起来,使外界无法接触其内部,保持了内部的稳定性以及保证了机械运作的安全。这,便是类在生活中的一个真实缩影。

 

类有三个特性:封装,继承,多态。

  1. “封装”就是隐藏内部实现细节。就像一个人,有为人知的一面,像外表,性格,衣着等;也有不为人知的一面,如其的心理状态以及复杂的内心世界及想法。在面向对象中,为人知的一面称为“接口”,即public段和published段的成员;不为人知的一面称为“私有成员”,即private和protected段(其实protected段也不完全是)。人们可以通过接口获得一些数据或完成一些操作,但不会影响类自己的数据的安全性、合法性和稳定性(当然,要保证类封装的合法性和合理性,像一辆只剩下骨架的汽车,连发动机都露出来了,有人敢去开吗?能保证发动机运行的稳定吗?)。
  2. “继承”就是“子承父业”。一个类可以继承另一个类的所有成员(不包括private段),并在其基础上增加属于自己的成员。这样做的好处是提高代码的可重用性。就像金属和铝的关系一样,铝是一种金属并且拥有金属的一切性质。
  3. “多态”就是“多种状态”,即一个method,可以在本类中实现(static),也可以实现一部分,另一部分让子类去实现(dynamic或virtual),还可以不实现,让子类自己去发挥(abstract)。这极大地提升了类的灵活性,同时也真实地反应了现实生活:一个人不是万能的,他不能干所有的事,但或许他的后代可以,即“青出于蓝而胜于蓝”。

类似乎是生活中的一个真实写照,世界上任何一个物体都满足这三个特性,无论是抽象的(如水果)还是具体的(如苹果)。这不仅仅是一种编程思想,还是对生活的一种总结,对生命的一种感悟,对世界的一种新认识。

 

程序基于数,而数皆万物也。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值