首页 > 如何使用 利用工厂模式创建出来的对象中的方法

如何使用 利用工厂模式创建出来的对象中的方法

用的C#;
比如有个abstract class叫item,其他两个类classA和classB都继承item;
使用工厂模式创建一个对象,新建的这个对象是item类,我能通过obj.getType().Name方法判断这个类实际上是classA还是classB;
在我知道这个类实际上是classA还是classB之后,如果想使用classA或者classB他们自己的方法,我应该怎么办?
刚开始接触设计模式这些知识,还希望各位给一些建议!


类型转换一下,然后就调用呗


面向对象的特性是 抽象 封装 继承 多态

如果A和B有完全不同且和item无关的方法 应该使用接口实现

abstract class item
{
}

interface IclassA
{
    void a();
}

interface IclassB
{
    void b();
}

class classA : item, IclassA
{
    public void a()
    {
        throw new NotImplementedException();
    }
}

class classB : item, IclassB
{
    public void b()
    {
        throw new NotImplementedException();
    }
}

    item item = new classA();

    if (item is IclassA)
    {
        var itemA = item as IclassA;
        itemA.a();
    }
【热门文章】
【热门文章】