C# 继承 多态

时间:2022-03-28 06:06:00

继承就是从父类中获取一些公开的成员,,如方法和属性。C#中只允许继承一个父类,但允许继承多个接口。如果子类继承接口,则必须实现接口中定义的所有公开成员。

公开成员是指在父类中定义为public的成员(public的作用域可在子类中生效,而private作用域则不可)

子类继承父类:

子类拥有父类非Private的属性和功能;

子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;

子类还可以以自己的方式实现父类的功能(方法重写)。

父类 某个类继承自某个类
子类 派生类 超类

代码例子如下图:

//父类

class ren{

           private sting _name;

           prviate  string _sex;

           private DateTime _birthday;

}

子类: 

    class xuesheng :ren{

 

}

然后在xuesheng中就会获得ren 的属性。

多态:

      多态是指类可以有多种形态,通过修改可以形成多个实现方法。子类从父类继承时它会获得父类的所有方法、字段、属性、事件。多态表示不同的对象可以执行相同的操作,但要通过它们自己的实现代码来执行。

       若要改变父类的数据和行为,两种方式:可创建新的成员替换父级成员,或者可以重写虚拟的父级成员。

类的多种形态

父类存在虚方法 virtual
子类重写 override

实例如下:

 建立一个fly类然后创建一个方法:

class fly

{

    public string flying(){

    return "我会飞";

}

}

建立一个子类:

public class  plane : fly{

}

如果要改变子类的内容可以给父类加一个虚方法:

public virtula string flying(){

}

然后在子类重写就可以改内容了:

public  override string fliying(){

      renturn"需要更改的内容";

}

访问修饰符:
public 公共的,只要引用了命名空间就能用
访问级别最高
private 私有的,只能在类的内部进行访问
访问级别最低

internal 默认的,同一个命名空间下可以访问
访问级别次最高

protected 被保护的,类的内部及它的子类中才可以访问
访问级别次最低