zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    51. spring boot属性文件之多环境配置【从零开始学Spring Boot】
    html的基本结构
    html的介绍
    SimpleDateFormat
    线程池
    写XML
    在解析XML时要注意解析元素和解析标签属性的区别
    9月2日笔记
    eclipse快捷提示原理
    form表单提交信息的方式
  • 原文地址:https://www.cnblogs.com/Values/p/3889398.html
Copyright © 2011-2022 走看看