一个接口
type
['{............}']//TGUID
IFormattedNumber=interface
function FormattedString:string;
............
end;
一个接口类
type
TFormattedInteger=Class(Tobject,IFormattedNumber)
private
.........
public
constructor Create(AValue:integer);
.....
function formattedstring:string;
procedure Setvalue(AValue:integer);
end;
有如下代码:
////
var
MyNumber:IFormattedNumber;
begin
MyNumber:=TFormattedInteger.create(12);
end;
问题如下:
1.IFormattedNumber与TFormattedInteger中的function formattedstring:string是不是同一个涵数;
我想应该是不同的两个涵数,如果是同一个在TFormattedInteger中就不应该在定义.是不是?
2.MyNumber:=TFormattedInteger.create(12)这句有何作用
我想Mynumber既然是IFormattedNumber类它就只能访问IFormattedNumber中的元素跟TFormattedInteger就无关,是不是?;

解决方案 »

  1.   

    to  ysai(所有真的都是假的真,所有假的都是真的假) ( ) 
    如果我把MyNumber:=TFormattedInteger.create(12);去掉
    换成showmessage(MyNumber.formattedstring);行吗?
      

  2.   

    to  ysai(所有真的都是假的真,所有假的都是真的假)  
    ---------------------------------------------
    可MyNumber就是一个由IFormattedNumber定义的对象啊?
      

  3.   

    ysai(所有真的都是假的真,所有假的都是真的假) ( ) :"接口的功能要依赖对象来实现".学习中
    to :yhyhai() :你的概念有问题,多看看书,好象很多东西都没弄清楚.
    对象必须要创建,在delphi里就是create来实现
    你不创建可以试试,后果是什么样,你试了后就知道了
      

  4.   

    除了某些数据类型不用创建(只要定义就好了),delphi是自己进行管理的,大部分是要创建对象的
      

  5.   

    to  dd_zhouqian() ( )  
    好象从Tobject继承的自定义类不用创建(create)对象实列也能使用这是为什么呢?真让人搞不懂?
    具体列子http://community.csdn.net/Expert/topic/5601/5601084.xml?temp=.8821375;