W
wrl_001
Unregistered / Unconfirmed
GUEST, unregistred user!
s:TStream;
s:=TMemoryStream.create
和
s:TMemoryStream;
s:=TMemoryStream.create
两个写法,前面一个有什么好处吗?举个详细点的例子.^_^
----------问题来由-----------
初学java,在一个论坛中回答了这样一个问题:
class A{}
class B extends A{}
写成A a=new B()
比 B a=new B()有什么好处?
>>>当时不知道怎么回事居然回答:
比如一个函数是;
void dothing(A a){}
在这个时候如果写成B a=new B()就无法直接传入了,
但如果写成A a=new B()就可以了
----狂汗..
写过的代码一般在下面的情况下才会这么写....
var
ds:TDataSet;
begin
if iType=1 ds:=ADOQuery
else ds:=ClientDataSet;
....
end;
s:=TMemoryStream.create
和
s:TMemoryStream;
s:=TMemoryStream.create
两个写法,前面一个有什么好处吗?举个详细点的例子.^_^
----------问题来由-----------
初学java,在一个论坛中回答了这样一个问题:
class A{}
class B extends A{}
写成A a=new B()
比 B a=new B()有什么好处?
>>>当时不知道怎么回事居然回答:
比如一个函数是;
void dothing(A a){}
在这个时候如果写成B a=new B()就无法直接传入了,
但如果写成A a=new B()就可以了
----狂汗..
写过的代码一般在下面的情况下才会这么写....
var
ds:TDataSet;
begin
if iType=1 ds:=ADOQuery
else ds:=ClientDataSet;
....
end;