Java或Delphi中为什么要进行方法覆盖或重载它们在程序中各有什么好处
展开全部
楼上说的很正确,就是多态,比如说开实际开发中有一个函数叫setName(),是设置名称的
但是参数可能是男人女人小孩,当然你可以有
setNameForMan(),
setNameForWoman(),
setNameForChildren(),
但是为了便于维护和关系,更重要是显示自己的专业素质
用setName(Man man),setName(Woman woman)这样会更好
但是参数可能是男人女人小孩,当然你可以有
setNameForMan(),
setNameForWoman(),
setNameForChildren(),
但是为了便于维护和关系,更重要是显示自己的专业素质
用setName(Man man),setName(Woman woman)这样会更好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
THuman = class //抽象类 由派生类实现具体方法
function SayHello:string;virtual;abstract;
end;
TMan = class(THuman)
function SayHello:string;override; //子类覆盖父类方法
end;
TWoman = class(THuman)
function SayHello:string;override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TMan}
function TMan.SayHello: string;
begin
ShowMessage('man');
end;
{ TWoman }
function TWoman.SayHello: string;
begin
ShowMessage('Woman');
end;
procedure TForm1.btn1Click(Sender: TObject);
var
Human:THuman;
begin
//多态实现
Human:=TMan.Create;
Human.SayHello;
Human.Free ;
Human:=TWoman.Create;
Human.SayHello;
Human.Free ;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
THuman = class //抽象类 由派生类实现具体方法
function SayHello:string;virtual;abstract;
end;
TMan = class(THuman)
function SayHello:string;override; //子类覆盖父类方法
end;
TWoman = class(THuman)
function SayHello:string;override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TMan}
function TMan.SayHello: string;
begin
ShowMessage('man');
end;
{ TWoman }
function TWoman.SayHello: string;
begin
ShowMessage('Woman');
end;
procedure TForm1.btn1Click(Sender: TObject);
var
Human:THuman;
begin
//多态实现
Human:=TMan.Create;
Human.SayHello;
Human.Free ;
Human:=TWoman.Create;
Human.SayHello;
Human.Free ;
end;
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询