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)如果父类没有无参构造函数,则必须指明调用父类哪个构造函数

  • 相关阅读:
    17。3.12---re模块--正则表达式操作指南
    17.3.12---还有未整理的模块
    17.3.12---xmlrpclib模块
    17.3.12----math模块
    17.3.12--smtplib模块发送邮件__抄送,安装与下载
    17.3.12---logging日志模块level配置操作
    17.3.12---urlparse模块的URL下载
    17.3.12---socket
    17.3.12--urllib2模块
    SQLSERVER 中的共用表达式(CTE)
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4493804.html
Copyright © 2011-2022 走看看