none
请教一段代码 RRS feed

  • 问题

  • public class Deck:ICloneable
    {

    public object Clone()
    {

    Deck newDeck=new Deck(cards.Clone()as Cards);

    return newDeck;
    }

    private Deck(Cards newCards)//私有构造函数不是阻止类被实例化吗?如何还能在实例化过程中传递呢?
    {

    cards=newCards;

    }

    Deck类定义了一个新的私有构造函数,在实例化Deck对象时,该函数可以传送制定的Cards集合。
    2010年8月27日 8:43

答案

  • 你好 乔峰 ,

    所謂阻止類被實例化是指「除了這個類本身,其他類無法將這個類實例化」,

    也就是說你仍然可以在這個類裡面的其他方法來將類實例化,

    也可以將這個類的實例當成方法的返回值~



    Best regards

    • 已标记为答案 乔峰 2010年8月28日 0:43
    • 已编辑 DK. Da 2012年6月10日 1:40
    2010年8月27日 16:26

全部回复

  • public class Deck:ICloneable
    {

    public object Clone()
    {

    Deck newDeck=new Deck(cards.Clone()as Cards);

    return newDeck;
    }

    private Deck(Cards newCards)//私有构造函数不是阻止类被实例化吗?如何还能在实例化过程中传递呢?
    {

    s;

    }

    Deck类定义了一个新的私有构造函数,在实例化Deck对象时,该函数可以传送制定的Cards集合。
    o
    2010年8月27日 15:53
  • 你好 乔峰 ,

    所謂阻止類被實例化是指「除了這個類本身,其他類無法將這個類實例化」,

    也就是說你仍然可以在這個類裡面的其他方法來將類實例化,

    也可以將這個類的實例當成方法的返回值~



    Best regards

    • 已标记为答案 乔峰 2010年8月28日 0:43
    • 已编辑 DK. Da 2012年6月10日 1:40
    2010年8月27日 16:26
  • 感谢,张老师的指导,说的很透彻,谢谢
    2010年8月28日 2:06