风刑软件站(Delphi 之 VCL)
风刑软件站:欢迎大家加入EDS Team,我相信这个团队会让大家共同进步,共同提高Delphi能力。
这次培训,主要针对于VCL来说,学Delphi的朋友,几乎离不开VCL,正是VCL的强大,才让我们更方便用Delphi创建各式各样的系统。
什么是VCL,VCL的全称是Visual Component Library(可视化控件库)。
但我们平常所讲的“非可视化控件”是指终端用户不可看见,不能编辑内容,只能由程序本身来控制的控件。“可视化控件”是指终端用户看得见,可以提供编缉功能的控件。一般情况下,“非可视化控件”由TComponent继承,而“可视化控件”则由TGraphControl和TCustomControl继承。
什么是类(class),类实际上就是类别,或者说是“种类”,例如“水果中可以分为苹果、香蕉、菠萝等等种类。
下面一段小故事可以说明,什么是类(class),什么是对象(Object),什么是对象实例(Object Instance)
星期天,公园里小蓝和小李正在“弹琴说爱”,大家都有点口渴了。
小李对小蓝说:带把的,帮我拿个Apple过来
小蓝说:点烟器,你要什么样的Apple?
小李说:Canada Apple.
小蓝说:Yes,my baby’s momey.
小蓝从袋子里找到Canada Apple,来个抛物线,准确落在小李手中。
上面例子中,小李要什么?
对,就是Apple,而且指定要Canada Apple,这个情况下,第一次所说的Apple就是类别(class),而且还指定子类(Canada Apple),小蓝找到了Canada Apple,相对于小李来说,他还没有拿到,只是已经知道有Canada Apple存在,这个时候,Canada Apple对于小李来说,就是“对象”, Canada Apple到了小李手中,仍然是一个“对象”,只不过已经是一个实实在在的东西。这时,就是已经创建了“对象实例”。
假如,在上面的例子中,小李所说的Canada Apple对于小蓝来说,小蓝并不清楚,那么小李就必须跟小蓝解释这个Canada Apple的样子,这个解释的过程,就可以称之为“定义一个类”(实际上应该是”说明对象”)。
小蓝对小李说:What is Canade?
小李说:What你的X头,Canada Apple就是Canada Apple,有什么好说的。
小蓝说:你想握(What)我的X头的话,也得找到没人的地方才行,但现在你最好说清楚Canada Apple的样子,如果你想吃的话。
小李说:晕……I服了U,Canada Apple的外皮有点像我的“优点”,吃起来的感觉跟你尝到“优点”的感觉应该有点相似,知道了吧?
小蓝想了想,如果说不知道,今晚就没“优”点吃了,只好说:我知道了。
上例中,Canada Apple定义了两个属性。
1.外皮颜色
2.味道
如果换成Delphi,就是:
TCanadaApple=Class(TApple)
Public
Property Color:TColor; //颜色
Property Taste:TTatse //味道
End;
而实例中的
Canada.Color=Red //颜色是“红色的”
Canada.Taste=Sweet //味道是“甜的”
但上例子,只谈到属性,并未涉及到“方法Method”和“事件Event”
下面我们再举一个例子
公园里,草地上,小蓝和小李相互拥抱着,
小蓝对小李说:我想KISS你。
小李说:可以,KISS之前,必须先吃“绿箭”,第二,KISS时间不得少于10分钟,KISS之后,必须给我买上次我看中的鞋子,还有,KISS的时候,你不可以看别的女孩,而且必须是意大利方式KISS。
上面的例子中,定义了属性、方法和事件,写成Delphi应该是这个写法:
TKissMe=Class
Public
Property KissStyle; //Kiss风格
Property KissTime; //Kiss时间
Property OnBeforeKiss:TNotifyEvent //Kiss之前事件
Property OnAfterKiss:TNotifyEvent //Kiss之后事件
procedure Kiss();
End;
下面讲讲私有属性,保护属性,和公用属性
小李和小蓝拍拖一段时间了,已经同居了。
小李有5K私房钱,但小蓝并不知道。
小蓝有荷包里有2K,小李一清二楚,但这是小蓝平时要用的,不能给小李,
银行里有1W,是两个人一起开户的。
上面例子中,什么是私有属性,保护属性,和公用属性
如果写成Delphi,如何写
TxiaoLi = class
…
End;
TxiaoLang=class
…
End;
Unit XiaoLi.pas
TxiaoLi = class;
Private
Property Money:double;
End;
Unit XiaoLang.pas;
TxiaoLang=class
protected
property Money:Double;
end;
随机文章
SEO小小课堂网站长导航
关键词排名优化
网站内容优化
SEO小小课堂网
SEO教程
搜素引擎算法
关键词排名优化
百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/8884.html

微信扫一扫
支付宝扫一扫