继承和多态

Posted 零语言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承和多态相关的知识,希望对你有一定的参考价值。

继承:

继承就是从父类中获取一些公开的成员,如方法和属性。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 被保护的,类的内部及它的子类中才可以访问
访问级别次最低

以上是关于继承和多态的主要内容,如果未能解决你的问题,请参考以下文章

C++编程题 关于 继承和多态 的

深度剖析—继承和多态

详细的解释下类的封装性,抽象性,继承性和多态性。

C++--多态

C++多态

Java面向对象三大特征之继承和多态