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 
{ }`
C