有另外一篇文章是使用interface做多繼承的,也許你會想參考

http://charleslin74.pixnet.net/blog/post/454896017-%5bc%23%5d-%E8%A7%A3%E6%B1%BAc%23%E5%8F%AA%E8%83%BD%E5%96%AE%E4%B8%80%E7%B9%BC%E6%89%BF%E7%9A%84%E5%95%8F%E9%A1%8C-%E4%BD%BF%E7%94%A8interface

接下來就是參考的程式碼,重點在顏色區塊

紅色的部分是class3繼承了class1,這點不用說明

而橘色的部分則是利用聚合的技巧也將class2的成員放到了class3裡面

public class class1
{
    private string _name;

    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
}


public class class2
{
    private string _rank;

    public string Rank
    {
        get { return _rank; }
        set { _rank = value; }
    }

}

public class class3 : class1
{
    class2 c2 = new class2();

    public string Rank
    {
        get { return c2.Rank; }
        set { c2.Rank = value; }
    }
}


public class program
{
    static void Main()
    {
        class3 c3 = new class3();
        c3.Name = "Charles";
        c3.Rank = "Engineer";
        Console.WriteLine("Hello, {0} {1}", c3.Rank, c3.Name);
        
        Console.ReadKey();
    }

arrow
arrow

    痞客興 發表在 痞客邦 留言(0) 人氣()