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