zoukankan      html  css  js  c++  java
  • base关键字

    base关键字      专门用来在子类访问父类成员

    base.标识符:“.”调用父类同名属性、同名函数、构造函数

     11)父类person
     2 public class Person
     3 {
     4    public Person()
     5   {
     6      Console.WriteLine("Person()");
     7    }
     8  
     9    public Person(string name, int age)
    10    {
    11      Console.WriteLine("Person(string name, int age)");
    12        this.name = name;
    13        this.age = age;
    14      }
    15  
    16      protected string name;
    17      protected int age;
    18      protected string strWords = string.Empty;
    19  
    20     public void SayHi()
    21     {
    22       Console.WriteLine("大家好,我叫{0},我今年{1}岁了{2}", name, age, strWords);
    23     }
    24  
    25 (2)子类student
    26 public class Student:Person
    27     {
    28         //子类构造函数会自动调用父类无参构造函数
    29         public Student(string name, int age)
    30         {
    31             this.strWords = strWords;
    32         }
    33         //子类构造函数可以显示的调用父类构造函数
    34         public Student(string name, int age, string strWord)
    35             : base(name, age)//显示的调用 父类构造函数
    36         {
    37             this.strWords = strWords;
    38         }
    39     }
    40  
    41 (3)子类teacher
    42 public class Teacher:Person
    43     {
    44         double salary;
    45  
    46         public Teacher(string name, int age, string strWord)
    47         {
    48             base.name = name;
    49             base.age = age;
    50             base.strWords = strWords;
    51             //base.name //base 只能访问到父类的非私有成员
    52             //this.salary//this可以访问到子类的所有成员和父类的非私有成员
    53         }

    a)base

      调用父类中非私有的成员(调用成员,父类)base点不出子类独有成员。

      调用父类中的构造函数(调用构造函数,父类)

      当调用从父类中继承过来的成员的时候,如果子类没有重写则this.成员;与base.成员,没有区别。

    b)如果子类重写了父类成员,则this.成员;调用的是子类重写以后的。base.成员;调用的依然是父类的成员。

    c)子类构造函数默认调用父类的无参构造函数;

    d)如果父类没有无参构造函数,则必须指明调用父类哪个构造函数

  • 相关阅读:
    android29
    android28
    android27
    android26
    Dynamics CRM2011 MspInstallAction failed when installing an Update Rollup
    Dynamics CRM Import Solution Attribute Display Name description is null or empty
    The service cannot be activated because it does not support ASP.NET compatibility
    IIS部署WCF报 无法读取配置节“protocolMapping”,因为它缺少节声明
    Unable to access the IIS metabase.You do not have sufficient privilege
    LM算法与非线性最小二乘问题
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4493804.html
Copyright © 2011-2022 走看看