zoukankan      html  css  js  c++  java
  • c#中的继承

    一.c#中继承分为实现继承和接口继承两种:

    1.实现继承:表示一个类型派生于一个基类,这个类拥有基类所有的成员字段和函数。在实现继承中,派生类型采用基类的每个函数的实现代码,除非在派生类型的定义中指定重写某个函数的实现代码。在需要给现有的类型添加功能,或者多相关的类型共享一组重要的公共功能时,这种类型的继承是非常有用的。c#中每个类只可以继承一个基类。

    2.接口继承:表示一个类型只继承函数的签名,没有继承任何实现代码。在需要指定该类型具有某些可用的特性时,最好使用这种类型的继承。c#中每个类可以实现多个接口。

    二.结构和类的继承:

    1.结构派生自System.ValueType,它不支持实现继承,但支持接口继承。

    2.类派生自用户选中的另一个类,还可以派生自任意多个接口。

    三.继承示例:

    1.声明一个类派生自另一个类

    代码:

    calss MyClass:MyBaseClass{ //MyClass类派生MyBaseClass

    //这里写需要实现的代码

    }

    2.1.结构派生自多个接口,接口之间用逗号隔开

    实现代码:

    Public sturct MyClass:IInterface1,IInterface2{

    //etc

    }

    2.2类派生一个基类和多个接口

    实现代码:

    calss MyClass:MyBaseClass,IInterface1,IInterface2{

    //etc

    }

    四.虚方法:把一个基类函数声明为virtual,让任何派生类重写该函数

    实现代码:

    class MyBaseClass{ //基类

    public virtual  string VirtualMethod(){ //声明一个虚方法

    return "这是一个虚方法"

    }

    }

    calss MyClass:MyBaseClass{ //MyClass类派生MyBaseClass基类

    public override string VirtualMethod(){ //重写基类的虚方法 ,重写基类的方法要用override

    return "我重写了MyBaseClass基类中的VirtualMethod()方法";

    }

    }

  • 相关阅读:
    派遣函数
    英文论文(1)
    状态机和时序图的“前世姻缘”
    线程安全性:原子性,安全性,加锁机制
    多线程程序中操作的原子性
    win10下安装Centos7总笔记!
    分支限界法---旅行售货员问题
    PHP+ajax聊天室源码!支持长轮循跟定时请求两种
    elasticsearch配置优化
    hbase region与内存的关系
  • 原文地址:https://www.cnblogs.com/lxjie/p/3158695.html
Copyright © 2011-2022 走看看