构造基类构造函数类赋值

时间:2013-12-27 13:48:48

标签: c# class instance

public class Test1
{
    public int Q1 { get; set; }
    public string Q2 { get; set; }

}

public class Test2 : Test1
{
    public Test2(Test1 Value)
    {
        Q1 = Value.Q1;
        Q2 = Value.Q2;
        //Does this way of writing is getting very long and difficult

    }
}

public class Test2 : Test1
{
    public Test2(Test1 Value)
    {
        base = Value;
        //In this way a short and easy ways
    }
}



   public Test1 ExampleTest()
    {
        return new Test1();
    }

    public void Example()
    {
        Test2 t = new Test2();

        t = ExampleTest();
    }

我直接赋予类继承如何获得?

1 个答案:

答案 0 :(得分:1)

两者都错了 -

首先,您在派生类构造函数中初始化基类成员,这是一种不好的做法。这里的问题是你必须在这里使用inheritence,让基类通过基类构造函数初始化继承的成员。

在第二阶段,您首先创建基类对象,然后传递它以创建派生的对象。它是内存的浪费,因为我们不需要基类对象来实例化派生对象。此外,这种方法在抽象类的情况下不起作用。