C#中的继承很简单,但延伸到多态时,学习曲线会比较陡,而多态又是C#中非常重要的特性。TS的继承,底层通过原型链来实现,但都已经封装好,我们直接操作类,和C#差不多。而TS的多态,是鸭子类型兼容,很不习惯,好在前端开发应该极少会涉及,了解即可。
一、C#中的继承
1.1 基本使用
//1、派生类(子类)通过运算符:继承基类(父类)========================================
//基类(父类)
public class Animal
{
public void Eat()
{
Console.WriteLine("Animal is eating.");
}
}
//派生类(子类)
public class Dog : Animal
{
public void Bark()
{
Console.WriteLine("Dog is barking.");
}
}
//下例省略程序入口方法
Dog dog = new Dog();
dog.Eat(); // Eat()方法属于基类,但派生类继承了
//2、访问修饰符对继承的影响==========================================================
//private修饰的成员,不能被继承,只能在当前类访问
//protect修饰的成员,可以被继承,只能在当前类及其派生类访问
//internal修饰的成员,可以被继承,在当前程序集内公开
//public修饰的成员,可以被继承,完全公开
//3、有几个成员是不能继承的,除此之外的成员都可以继承=================================
//①静态构造函数(主要用于初始化静态数据)
//②实例构造函数
//③终结器(从来没用过)
//4、单继承=========================================================================
//C#是单继承,只能有一个父类,但可以实现多个接口
//5、隐式继承Object=================================================================
//Object是所有类的基类,所有类都可以调用Object上的成员