在由子类实例初始化的c#Parent类对象中

时间:2015-01-26 23:16:23

标签: c# inheritance polymorphism abstraction

我已经看到很多关于继承,抽象和多态的概念的例子,其中基类的对象由子类初始化,如下所示:

BaseClass obj1 = new ChildClass();

大多数示例仅使用了不真实和简单的示例,但我一直想知道可以使用这些场景的真实例子。

2 个答案:

答案 0 :(得分:0)

以车辆和汽车为例,其中Vehicle是超类,Car是子类

然后您可以将代码编写为

Vehicle vehicle = new Car();

答案 1 :(得分:0)

class Program
{
    static void Main(string[] args)
    {
        var product = new Product();
        var status = product.Process();
    }
}

public class Product : Provider
{
    string provId = "ABC101";

    public bool Process()
    {
        var prodProv = new Provider(provId);
        this.QueryProvider();
        return true;
    }
}

public class Provider
{
    private string _providerId;

    public Provider(string provId)
    {
        _providerId = provId;
    }

    public void QueryProvider()
    {
        // Execute Provider logic here
    }
}