04_关键字的作用

Posted on 2020-08-05 17:38  NCY_1991  阅读(103)  评论(0编辑  收藏  举报

/*************** 基础 ***************/

1.new关键字

a.创建对象

  • 在堆中开辟空间
  • 在开辟的堆空间中创建对象
  • 调用对象的构造函数(默认构造函数)

b.隐藏父类的成员

    class Person
    {
        public void SayHello()
        { }
    }
    class Student : Person
    {
        //使用new关键字显示隐藏父类的方法
        public new void SayHello()
        { }
    }

 

 

2.this关键字

a.代表当前类

    class Person
    {        
        string name = "aa";
        public void SayHello()
        {
            //局部变量的优先级高于类的成员变量,如果不用this则输出bb
            string name = "bb";
            //用了this实际输出aa 
            Console.WriteLine(this.name);        
        }
    }

b.显示调用自己的构造函数

        public Person(int age,string name,string gender)
        {
            Age = age;
            Name = name;
            Gender = gender;
        }

        //显示调用自己的构造函数,重用了构造函数的代码
        public Person(int age,string name,string gender,string chinese, string english) : this(age, name, gender)
        {
            Chinese = chinese;
            English = english;
        }

 

 

3.base关键字

a.显示调用父类的构造函数

 public class Person
    {
        public Person(int age,string name,string gender)
        {
        }
    }
    
    public class Student : Person
    {
        //显示调用父类的构造函数
        public Student(int age, string name, string gender) : base(age, name, gender)
        { }
    }

 b.显示调用父类的成员

    public class Person
    {
        public void SayHello()
        { }
    }
    
    public class Student : Person
    {
        
        public void SayHI()
        {
            //显示调用父类的成员
            base.SayHello();
            Console.WriteLine("");
        }      
    }