如风搜(Delphi 之 VCL)
如风搜:EDSTEAM的朋友们,大家好,今天,开课之前,先给大家出一道题目。B组和D组的同学请写一个全球之最短代码的Delphi程序;而C组的同学请写一个全球最短的代码的定义类语句。这两个程序都必须合法可行的。
答案:
(1)
Program a;
Begin
End;
(2)
Type a=class
End;
今天的主题是:继承,还有相关的知识Virtual,Dymanic,Override Overload
(一)绝大多数的类都是从Tobjet下一层层继承下来的,假如,Tobjet是上帝的话,那么上帝的母亲是谁?
下面是一段故事:
有一天,小李问小蓝:我是怎么来到这个世界的?
小蓝说:你是你妈和你爸创造出来的。
小李问:那我爸和我妈又是从哪里来的呢?
小蓝说:是上帝创造出来的。
小李问:上帝又是哪个创造出来的呢?
小蓝说:人有人他妈,神有神他妈,上帝也有上帝他妈。
小李问:上帝他妈又是谁呢?
小蓝说:如果今晚你睡在我上面的话,上帝就会诞生,你说,上帝他妈将会是谁呢?
小李:(无言以对,呆了…….)
我们知道,类都是一层层继承下来的, Tobjet是最基本的类,至于Tobjet是继承谁的,我们就不管他了,也没必须自己制造一个像Tobjet类似的类,因为Tobjet已经帮我们做了很多基本的动作。
(二)如何继承一个类,我们继承了它什么东西
某天,小李和小蓝吵架
小李说:你老爸给你的家产呢,都到哪去了?
小蓝说:我老爸除了给我一间空房子外,其他的让我自力更生。
小李说:骗人,你是不是拿去给其他女孩了?
小蓝说:冤枉呀,除了老爸给我的知识外,再也没有其他的东西了啊!
上面例子上,小蓝继承了他老爸什么东西,也就是叫继承了什么属性。
对,就是空房子和知识这二个属性,其他属性却要自己扩充的,也就是说,公用的属性(房子),保护的属性(知识)都继承了,其他的属性(私有的),都不能继承下来了。
(三)继承了一个类,我们继承了什么方法(Method),父亲没有实现功能的方法,我们要怎么才能补充
继续上个故事中
这时,老蓝走过来了,对小蓝说:孩子啊,那个年代我很穷,没来得及修建这座花园,就留给你来修建好了。
小蓝说:好啊!但我现在没有那么多钱财。
小李接着说:你一个月那么多的工资,都到哪里去了,泡妞去了?
小蓝说:没有啊,哪敢呀!
老蓝说:好啊,你这真小子,好的没学多少,坏的却学透了。
小蓝说:有其父必有其子,我学了你的手艺,学了你的交际,学了你的幽默,却没学会当医生。现在,我在你的手艺基础上,又学到了一些,交际能力方法和你一样,手法却不同,幽默却仍然是你的那一套,我完全没改变,医术我是荒废了,一点能力都没有。
上面例子中,小蓝的老爸有什么能力(Method),小蓝继承了什么,又荒废了什么,如果写成Delphi类,应该怎么写?
答案:
TLaoLang=class
Public
Procedure shaoyi;virtual;
Procedure jiaoji;Dymanic;
Procedure youmo; virtual;
Procedure yishu;
End
TXiaoLang=class(T Laolang)
Public
Procedure shaoyi;override;
Procedure jiaoji;override;
Procedure yishu;reintroduce
End
(四)什么时候用Virtual,什么时候用Dymanic;什么时候用Override,什么时候用Overload。
(五)Override与Overload的区别和用法
话说小莉从老蓝那学来手艺和交际后,天天用学来的手艺做一些小玩意哄公司女孩玩,有一天,小蓝和一个女孩在赌东西。
小蓝说:如果我的左手变出巧克力我吻你左脸,如果我的右手变成朱古力的话,你也吻你一个你的右脸。
女孩说:如果变不出来呢?
小蓝说:那就倒过来给你吻好了。
上面的例子中,小蓝继承了什么?如果把左手和右手都当成同一个类型,就是手,那么,根据变的东西不同,他怎么对应?
如果上面写成Delphi表,该如何写?
TXiaoLang=class(TLaolang)
Public
Procedure shaoyi; override
Procedure jiaoji; override
function change(hand: TLefthand);overload;
function change(hand: TRighthand); overload;
end;
—————————————- 第二节完
随机文章
SEO教程站长导航
友情链接交换
搜素引擎算法
网站内容优化
SEO小小课堂网
SEO教程
友情链接交换
百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/8885.html

微信扫一扫
支付宝扫一扫