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