MyException - 我的异常网
当前位置:我的异常网» Delphi » delphi + 面向- 重载,覆盖,继承,虚方法,动态方

delphi + 面向- 重载,覆盖,继承,虚方法,动态方法,多态,封装,接口,解决方法

www.MyException.Cn  网友分享于:2013-02-27  浏览:44次
delphi + 面向-- 重载,覆盖,继承,虚方法,动态方法,多态,封装,接口,
Delphi(Pascal) code

1. overload(重载)
2。override (覆盖)
3. inherited(继承)
4.virtual (虚方法)
5。dynamic(动态方法)
6.    多态
7.   封装
8.   接口




麻烦 各位大侠 简单的讲下 他们在 程序中的目的!!! 目的,作用!!!!
Delphi(Pascal) code

if 给发=200 then
    MessageBox(0,'我要发200分;您只允许发表100分内的帖子。','提示 why?',MB_ICONQUESTION);  



------解决方案--------------------
类的封装继承和多态 读的时候把java换成delphi
http://blog.zol.com.cn/818/article_817762.html
简单来说,类就是对一个事物抽象出来的结果。比如人可以作为一个类。一般来说,一个类具有成员变量和成员方法。成员变量相当于属性,比如‘人’具有的变量有胳膊,手脚等。而成员方法是该类能完成的一些功能,比如‘人’可以说话(talk),行走(walk)等。 

对象,如果说类是一个抽象概念,那么对象就是具体对象。比如我们说‘人’就是一个抽象概念,但是具体到某个人,比如你,我,他,就是一个‘人’对象。 

封装,简单理解就是把一系列的数据放在一个类中,还用前面的例子,如果形容一个人,我们可以用身高(hight),体重(weight)等来描述,如果不封装,我们需要3个变量来形容它。在面向对象中,可以用一个Person类封装这些数据,Person具有3个成员变量,分别是height,weight。使用的时候,每当生成一个这样的类的对象,就具有这3个属性。 

继承,如果B类继承A类。那么B类将具有A类的所有方法,同时还可以扩展自己独有的方法和属性。还用人做例子。‘人’是父类,那么‘男人’,‘女人’都是继承自‘人’。也就是说,不论‘男人’,‘女人’,都具有‘身高’,‘体重’这两个属性,同时,他们可以有自己独有的属性,比如‘女人’可以有一个‘三围’属性-_-! 

多态,在java中,同一个方法可以有多种不同的表现形式,具体说来分为重载和重写。重载就是一个方法的方法名相同而所具有的参数列表不同。比如: 
public String talk(String content); //参数是String, 
public String talk(String content, int number) //参数是2个,String和int 
重载则是子类在继承父类的同时,重新实现了父类的某个方法。比如父类 
public String talk(String content) { 
System.out.print(content); 

子类继承该类,所以也具有talk这个方法,他重新定义了该方法的实现 
public String talk(String content) { 
System.out.println("Hi" + content); 


抽象类和一般类的最大区别,就是不能实例化一个对象,但是它可以被继承。 
接口则是指定义了方法的名字,而不定义他的实现。方法的具体实现由其实现类去完成。比如 
public interface mp3{ 
public void play(); 
public void pause(); 


这就定义了一个mp3的接口,任何其他类都可以实现这个类,但是实现这个接口就必须实现这个接口所定义的方法。换句话说,任何实现mp3的类,都必须具有play()和pause()的方法,比如 
public class IPod implements mp3{ 
public void play(){ 
//具体实现 

public void pause(){ 
//具体实现 

}
------解决方案--------------------
TMyClass= class 
procedure StaticFunc;//静态方法 
procedure VirtualFunc;virtual;//虚拟方法 
procedure DynamicFunc;Dynamic;//动态方法 
procedure AbstractFunc;virtual;abstract; 
1、虚类:如果该类拥有一个或一个以上虚方法,则该类即为虚类,如上面的类。 
2、虚方法:声明的关键字为Virtual.因为虚方法可以被子类覆盖,所以 
编译器在编译时并不能知道该虚拟方法的地址,因此编译器通过建立一个虚拟方法 
表来查找运行时的函数(过程)地址。虚拟方法的调用方式和静态方法的调用方式相同。 
3、虚方法表:一张记录虚拟方法和其调用地址等信息的表。一个对象的虚拟方法表既包括自己的虚拟方法也包括从祖先继承下来的虚拟方法表。因此比较耗内存。 
虚拟方法表是编译器自动产生的,不需要人干预。 
虚拟方法是实现多态的一种方法。父类中的虚拟方法可以被子类覆盖。 
4、抽象方法必须是虚拟方法或动态方法,抽象方法不能有实现代码。抽象方法的实现代码是在其子类中实现。因此具有抽象方法的类不能被实例化。下面的代码是错误的:MyClass := TMyClass.create; 
5、public 公有成员,表示其它的类可以访问其所属成员,其子类也继承其成员。 
private 私有成员,其它类不能访问,也不能被继承. 
protected 保护成员,其它类不能访问,但可被继承。 
Published Delphi的类关键字,访问方式和Public相同,但Published成员可以出现在Object inspector;
接口定义能够与一个对象进行交互操作的一组过程和函数。接口定义的函数或过程不需要在接口中实现。只要实现了接口方法的对象,接口都可以访问。delphi的接口与C++的纯虚类相似。 
type IMyinterface = interface 
[ '{全局码} '] //按ctrl+shift+G自动产生. 
function F1 :integer; //接口方法 
end; 
TMyClass = class(tinterfacedobject,IMyinterface) 
function f1:integer; 
end; 
//实现f1函数 
function TMyClass.F1 :integer; 
begin 
Result := 0; 
end; 

文章评论

旅行,写作,编程
旅行,写作,编程
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员的鄙视链
程序员的鄙视链
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
漫画:程序员的工作
漫画:程序员的工作
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
 程序员的样子
程序员的样子
中美印日四国程序员比较
中美印日四国程序员比较
代码女神横空出世
代码女神横空出世
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
一个程序员的时间管理
一个程序员的时间管理
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员必看的十大电影
程序员必看的十大电影
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
老程序员的下场
老程序员的下场
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
10个调试和排错的小建议
10个调试和排错的小建议
每天工作4小时的程序员
每天工作4小时的程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
如何成为一名黑客
如何成为一名黑客
程序员和编码员之间的区别
程序员和编码员之间的区别
编程语言是女人
编程语言是女人
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
总结2014中国互联网十大段子
总结2014中国互联网十大段子
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
我是如何打败拖延症的
我是如何打败拖延症的
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我的丈夫是个程序员
我的丈夫是个程序员
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员都该阅读的书
程序员都该阅读的书
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有