深入Delphi编程(OOP)
http://tech.ddvip.com 2007年11月19日 社区交流
内容摘要:OOP的英文全称是Object Oriented Programming,翻译过来就是面向对象编程。OOP是一种非常重要的编程思想。也许你会对这种抽象的东西不感兴趣,可是几乎任何一个高手都会告诉你:“语言并不重要,重要的是编程思想。”
象对待一般的函数或过程那样,也可以向构造器传递参数:
type
TDate = class
private
Mouth,day,Year:Integer;
Public
function LeapYear:Boolean;
function GetText:String;
Constructor Create(m,d,y:Integer);
end; procedure TDate.Create(m,d,y):Integer;
begin
Mouth := m;
Day := d;
Year := y;
end;调用它:
ADay: TDate;
begin
ADay := TDate.create(1,1,2000);
if ADay.LeapYear then
ShowMessage('闰年:' + Inttostr(ADay.year));
ADay.free;
end;这样,在Create方法里就完成了对数据的初始化,而无须再调用SetValue方法了。
接下来,我们将要涉及到另一个重要的、也是很有趣的问题:方法的虚拟与重载。
可能你已经有点晕了吧……还是先看一个新的例子:
type
TMyClass = class
procedure One;virtual;
end; type
TNewClass = class(TMyClass)
procedure One;override;
end; procedure TMyclass.One;virtual;
begin
ShowMessage('调用了TMyclass的方法!');
end; procedure TNewClass.One; override;
begin
Inherited;
ShowMessage('调用了TNewClass的方法!');
end;可以看到,从TMyClass派生了一个新类TNewClass。这两个类都声明了一个名字相同的方法One。所不同的是,在TMyClass中,One方法后面多了一个Virtual关键字,表示这个方法是一个虚拟方法(Virtual Method)。而在TNewClass中,One方法后面多了一个Override关键字,表示该方法进行了重载(Override)。重载技术能够实现许多特殊的功能。
作者:左轻侯 责编:豆豆技术应用
正在加载评论...