C#入门详解 刘铁锰 类的继承和类成员访问控制

C#学习笔记(二十)类的继承和类成员访问控制

Object是所有类的基类


 class Program
    {
        static void Main(string[] args)
        {
            Type t = typeof(Car);
            Type tb = t.BaseType;
            Console.WriteLine(tb.FullName);  //这个是获取了Car的父类 为Vehicle

            Type tTop = tb.BaseType;
            Console.WriteLine(tTop.FullName);  //Vehicle的父类 Object 
                }
    }

    public class Vehicle
    { }
    public class Car: Vehicle
    { }

一个派生类的实例,也是基类的实例。一个子类的实例,也是父类的实例。

 class Program
    {
        static void Main(string[] args)
        {
            Car car = new Car();
            Console.WriteLine(car is Object); //True
             Console.WriteLine(car is Vehicle); //True

        }
    }

    public class Vehicle
    { }
    public class Car: Vehicle
    { }

1、封闭类:sealed修饰:最后一个类,不允许这个类去派生出新类。

sealed   public class Vehicle
   { }
  // public class Car: Vehicle    //无法继承
   //{ }

【继承中的构造函数】

特点

当声明一个子类对象时

构造函数的执行顺序

先执行父类的

再执行子类的

父类的无参构造

很重要

子类可以通过

base关键字代表父类(base可以向基类 上一层访问 )

调用父类构造

先执行父类的构造函数
再执行子类的 例子如下:

public class Vehicle
    {
        public Vehicle()
        { this.Owner = "N/A";
            Console.WriteLine("呃呃呃,我是Vehicle的构造函数捏");
        }
        public string Owner { get; set; } 
    
    }
    public class Car : Vehicle    
    {
        public Car()
        {
            this.Owner = "Car Owner";
        }
    }

    public class RaceCar : Car 
    { }
	
posted @ 2022-06-20 20:29  专心Coding的程侠  阅读(82)  评论(0编辑  收藏  举报