欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#访问this关键字和base关键字示例

程序员文章站 2024-02-16 00:01:52
指定创建派生类实例时应调用的基类构造函数; 调用基类上已被其他方法重写的方法。 注意:不能从静态方法中使用base关键字,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();
        }
    }
}