一、继承的概念
继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。
当创建一个类时,我们不需要完全重新编写新得数据成员和成员函数,只需要设计一个新得类,继承已有的类的成员即可。
这个已有的类被称为基类,也叫父类,新的类被称为派生类,也叫子类。
继承的特点:
*派生类是对基类的扩展,派生类可以添加新的成员,但不能移除已经继承的成员的定义。
*继承是可以传递的。如果C从B中派生,B又从A中派生,那么C既继承了B中声明的成员,也继承了 A中声明的成员。
*构造函数和析构函数不能被继承,除此之外的其他成员能被继承。基类中的成员访问方式只能决定派生类能否访问它们。
*派生类如果定义了与继承而来的成员同名的新成员,那么就可以覆盖已继承的成员,但不是删除,而是不能再访问这些成员。
*类可以定义虚方法、虚属性及虚索引指示器,它的派生类能够重载这些成员,从而使类可以展示出多态性。
*派生类只能从一个类中继承,可以通过接口来实现多重继承。
二、继承的语法
*类继承的语法形式:
类的访问修饰符 修饰符 类名:父类名
{
类的成员
}
先声明一个A类:
Class A
{
public string name;
public int age;
public string sex;
public A()
{
name=”张三”;
age=18;
sex=”男”;
}
}
B继承A类:
Class B:A
{
public B()
{
Console.WriteLine(“Hello world”);
}
}
*C#继承关系中构造方法之间的关系
-再实例化子类对象是,会先调用父类的构造 方法,然后再调用子类的构造方法
-默认情况下,在子类的构造器中都会自动调用父类的无参构造器
-3.如果需要调用父类中的带参数的构造器才使用”:base(参数)”的形式
Class B:A
{
public B()
{
Console.WriteLine(“Hello world”);
}
public B(string name):base(name)
{
Console.WriteLine(“值为”+name);
}