zoukankan      html  css  js  c++  java
  • C# 读书笔记之访问关键字this和base

    this 关键字引用类的当前实例。静态成员方法中不能使用this关键字,this关键字只能在实例构造函数、实例方法或实例访问器中使用。

    base 关键字用于从派生类中访问基类的成员。

      指定创建派生类实例时应调用的基类构造函数;

      调用基类上已被其他方法重写的方法。

    注意:不能从静态方法中使用base关键字,base关键字只能在实例构造函数、实例方法或实例访问器中使用。

    例:访问关键字this和base关键字示例;创建基类Person,包含两个数组成员name和age、一个具有两个参数的构造函数、一个虚函数GetInfo()以显示数据成员name和age的内容;创建派生类Student,包含一个数据成员studentId,一个具有三个参数的派生类构造函数,并用:base调用基类构造函数、并重写所继承基类的虚方法GetInfo(),调用基类的方法显示name和age的内容。

    namespace ConsoleApplication 
    {
    
        public class Person  //基类、等同于public class Person:Object
        {
    
            public string name;
            public uint age;
    
            public Person(string name,uint age)//基类的构造函数
            {
                this.name = name; //this 关键字引用类的当前实例
                this.age = age; //this 关键字引用类的当前实例
            }
    
            public virtual void GetInfo()
            {
                Console.WriteLine("Name: {0}",name);
                Console.WriteLine("Age:{0}",age);
            }
        }
    
        public class Student:Person//派生类
        {
    
            public string studentId;
    
            //派生类构造函数并用:base调用基类构造函数
            public Student(string name,uint age,string studentId):base(name,age)
            {
                this.studentId = studentId;
            }
    
            public override void GetInfo()
            {
                //调用基类方法
                base.GetInfo();
    
                Console.WriteLine("StudentId: {0}",studentId);
            }
    
        }
    
    
    
       public class Program
        {
    
    
            static void Main(string[] args)
            {
    
                Student objstudent=new Student("jeamsluu",99,"20140101011");
                objstudent.GetInfo();
                Console.ReadKey();
            }
        }
    }

    程序运行结果:

    Snap 2014-01-08 at 21.17.13

  • 相关阅读:
    链接
    列表
    Android Studio AVD 虚拟机 联网 失败
    docker error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuratio
    JSP Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING
    js jsp form
    intellij jsp 中文乱码
    [转载]在Intellij Idea中使用JSTL标签库
    windows pybloomfilter
    docker mysql
  • 原文地址:https://www.cnblogs.com/jlcoder/p/3511342.html
Copyright © 2011-2022 走看看