• c#语法糖代码——继承中构造函数的问题,this&base比较


    继承中构造函数的问题
    1 继承时,构造函数不能继承
    2 子类的构造函数会默认的调用父类中无参的构造函数

    处理方式:
    1 在父类中添加无参的构造函数
    2 不修改父类,在子类中的构造函数后边添加:base(),显示的去调用父类的构造函数

    base()是调用父类中的构造函数
    eg:
    public Student(string name,int age,double score):base(name,age){this.Score=score;}
    执行步骤: 先执行执行父类构造函数
    ,再执行执行子类构造函数

    通过this调用构造函数

    作用1: this是调用本类中的构造函数
    在当前类的构造函数前添加:this()调用本类中的构造函数

    eg
    public person(string name,int age,string email,double salary)
    {
    this.Name=name;
    this.Age=age;
    this.Email=email;
    this.Salary=salary;
    }

    public person(string name,int age):this(name,age,null,0){}//这样就可以避免重复赋值了

    对象与集合初始化器(编译的时候调用了set方法)
    Student stu=new Student(){Id=1,Name="coco",Age=99}//更方便给对象赋值
    集合初始化器(编译时调用list.add()方法)
    List<int>num=new List<int>(){0,1,23,4};
    list<student>stus=new list<student>(){new student{Id=1,Name="coco",Age=123},new student{Id=2,Name="kkk",Age=17}};


    this&base比较
    一般情况下,如果子类继承了父类成员
    那么子类中通过this.成员或base.成员访问的一样的
    除非父类中的成员子类继承后又重写了

    其他:使用即时窗口调试
    在即时窗口中输入变量,可以查看当前变量的值
    在即时窗口中输入“&”符号可以观察变量的地址(引用类型中,如果两个引用类型变量相同那么指向同一个地址两个引用类型变量相等)

  • 相关阅读:
    windows7 下 oracle 10g服务端如何安装?
    DOM模块支持测试
    获取css属性
    在webstorm启动nginx服务器
    获取link链接
    innerText
    外部动态加载javascript
    外部动态加载css
    冒泡排序
    Nodelist
  • 原文地址:https://www.cnblogs.com/lv-sally/p/4730062.html
Copyright © 2020-2023  润新知