首页 > 代码库 > C#单继承
C#单继承
public class Animal{ private string _name;//动物名称 public string Name { get { return _name; } set { _name = value; } } public virtual string Burrow()//定义动物行为 { return "动物行为:"; }} public class Mouse : Animal{ public Mouse() { base.Name = "老鼠"; } public override string Burrow() { return base.Burrow() + "老鼠的儿子会打洞!"; }}
看这一块代码:
public override string Burrow() { return base.Burrow() + "老鼠的儿子会打洞!"; }
要使用override重写关键字,父类对应的过程应有virtual关键字描述,代表该过程重新编写(不会执行对应的父类过程),使用base关键字可以调用父类公开的所有方法、属性、字段等
public class Books{ //字段修饰符为public public string bookName; public string ISBN; public Books(string bName, string bISBN) { this.bookName = bName; this.ISBN = bISBN; }}public class Sale : Books//定义派生类{ public double bookSell; public Sale(string bName, string bISBN, double sell)//子类构造函数 : base(bName, bISBN) { bookSell = sell; }}
再看这一块代码 子类 的构造函数 最先执行了 父类的构造方法,去初始化了字段值,这是完全正确的,但是有时我们并不需要去初始化这些值,而父类的构造方法却要求一定要执行,这种情况我们可以重载父类的构造方法,在父类加入 public Books(){}这一构造方法就可以满足我们的要求啦!
子类构造方法修改如下:
public Sale(string bName, string bISBN, double sell)//子类构造函数 //: base() //也可以取消注释,做用相同 { bookSell = sell;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。