基类和派生类
下面的例子很好的说明了派生类的声明;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Type t = typeof(Car);
Console.WriteLine(t.BaseType.Name);
}
}
class Vehicle //基类
{
}
class Car: Vehicle //派生类
{
}
}
一个派生类的实例也是一个基类的实例(is操作符)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Car car = new Car();
Console.WriteLine(car is Vehicle);
}
}
class Vehicle //基类
{
}
class Car : Vehicle //派生类
{
}
}
sealed 修饰符,会把类声明成封闭类,不允许做其他类的基类
一个类只能有一个基类
子类的访问级别不能超过父类
########继承的本质
定义:派生类在基类已有的成员基础之上对基类进行的横向上和纵向上的扩展。
1- 全盘继承(构造器不被继承)
2- 在派生的过程中,只会越来越多(类成员在数量上扩充,某些类成员版本扩充)
类成员的访问级别是由类的访问级别为上限的,不可能超过类的访问级别
protected: 限制在class 里,但可以被该class的派生类访问
internal:限制在namespace里,任何在这个namespace里的class都可以访问
一起用的时候,是或的关系
编程语言实现方法
开放