2012-08-04 11 views
0

我有2个不同的小部件共享10个相同的成员。然而他们也有2个阶段。 每个阶段都有其他人没有的特定成员。如何正确编程

public class widget 

    private _id as integer 
    private _engravedId as string 
    private _stage as WidgetStage 
    private _wig as IWidget 
end class 

public interface IWidget 
    Calculate() 
end interface 


public class Twidget 
    implemets IWidget 

    private t as integer 
    private b as double 
    private d as double 

end class 

public class Rwidget 
    implemenents IWidget 

    private y as integer 
    private x as double 
    private b as double 

end class 

如果我在我的类中声明一个Iwidget,那么我将不得不将它强制转换为访问派生类变量。有没有更好的办法?

+1

如果额外的变量是私人的,即使你施放它,你将如何访问这些变量? – Prescott 2012-08-04 01:25:04

回答

0

如果所有私有变量在IWidget的上下文中具有相同的含义,则可以将属性添加到IWidget以检索它们。否则,您可以实现反射来检索值,但除非您正在将属性映射到数据库列或用户界面元素值,否则很可能不是正确的方法。

这意味着投射很可能是您的场景的最佳方式。