C#学习系列之继承

153 阅读2分钟

C#学习系列之继承


啰嗦

基础学习。


继承

继承的含义:在现有类上建立新类,即一个类派生于另一个基类型,它拥有该基础类型的所有成员字段和函数(构造函数和析构函数以外的所有成员)。 已有类为基类,继承类为派生类。 A派生于B,继承A的所有东西,同时可以增加自己的东西。 当然在使用过程中,如果出现私有化,就无法直接使用。 C#中通常把派生类和基类的关系称为继承,类和接口的关系称为实现。接口不能定义构造函数,所以接口不能实例化。 C#中的派生类只能有一个基类,不支持类的多重继承,但可以继续承接多个接口,通过接口实现多继承性。 C#类可以派生自另一个类和任意多个接口。 结构不支持实现继承,但是支持接口继承。 C#派生类继承了基类,可继承父类的可继承的属性、函数。

继承的实现

继承需要借助公用的方法来调用,如果定义为private类型是不能直接访问的。private修饰的成员方法是不能被继承的。 基类中使用声明了virtual,派生类可在这个基础上进行重写。 this指代当前类的实例或者对象;base代表可以基于基类成员进行访问。

继承的语法

<访问修饰符符> class <基类>
{
    ...
}
class <派生类> : <基类>
{
    ...
}

使用

public class parent
{
	public string name;
}
public class child:parent//相当于child继承于parent
{
}
class program
{
	static void Main(string[] args)
	{
		Child child=new Child();
		child.name="lily";//拥有父类的基础
	}
}

特殊基类

object类是所有类的共同基类,它是唯一的非派生类,是继承层次结构的基础。对于其他类,父类和子类的概念都是相对的。 规则:继承只能单继承。 继承可以层次性的往下依次继承。

隐藏方法

无法删除基类成员,可定义同名成员,来不使用基类成员。加new可用于提示,防止警告。

实际使用

例如:parent中存在一个函数 print打印函数,那么可以在child中也定义一个print,前面再加一个new关键字。

总结

简单的继承学习。

www.imooc.com/video/14224