/// <summary> /// 构造函数 /// </summary> /// <param name="parent">父类</param> /// <param name="health">生命值,填0表示从父类继承</param> /// <param name="attack">攻击表现</param> public Breed(Breed parent, int health, string attack) { health_ = health; attack_ = attack; parent_ = null; //复制“代理”,在创建一个类型时将继承的特性复制到类的内部 //注意我们不再需要parent类中的属性,一旦构造结束,就可以忘掉基类 if (parent != null) { parent_ = parent; //是0,从父层拿 if (health == 0) { health_ = parent.GetHealth(); } //是null,从父层拿 if (attack == null) { attack_ = parent.GetAttack(); } } }
/// <summary> /// Constructor /// </summary> /// <param name="parent">father</param> /// <param name="health">Life value, fill with 0 means inherit from the parent class</param> /// <param name="attack">Attack performance</param> public Breed(Breed parent, int health, string attack) { health_ = health; attack_ = attack; parent_ = null; //Copy the "agent", copy the inherited characteristics to the inside of the class when creating a type //Note that we no longer need the attributes in the parent class, once the construction is over, you can forget the base class if (parent != null) { parent_ = parent; //It is 0, taken from the parent layer if (health == 0) { health_ = parent.GetHealth(); } //Is null, taken from the parent layer if (attack == null) { attack_ = parent.GetAttack(); } } }
public Monster(Breed breed) { health_ = breed.GetHealth(); breed_ = breed; attack_ = breed.GetAttack(); }