C# 多重overide

overide 是覆盖的意思,用在且仅用在虚函数上,虚函数可以是virtual或abstract修饰的,或者是overide修饰的。

文档大概是这么说的。

由此知道,由overide修饰的函数都是虚函数,不需要再使用virtual修饰了(语法上也不允许了),子类也可以使用overide来实现动态绑定。

new则是直接屏蔽掉父类的同名函数,不能实现动态绑定。new可以用在虚函数或一般函数上。

using UnityEngine;
using System.Collections;

class CBase
{
    public virtual void PrintName ()
    {
        Debug.Log ("CBase-----");
    }

    public void test ()
    {
        Debug.Log ("CBase-test-----");
    }
}

class CSon:CBase
{
    public override void PrintName ()
    {
        Debug.Log ("CSon-----");
    }

    public new void test ()
    {
        Debug.Log ("CSon-test-----");

    }
}

class CGrandSon1:CSon
{
    public void PrintName ()
    {
        Debug.Log ("CGrandSon1-----");
    }

    public new void test ()
    {
        Debug.Log ("CGrandSon1-test-----");
    }
}

class CGrandSon2:CSon
{
    public override void PrintName ()
    {
        Debug.Log ("CGrandSon2-----");
    }
}

public class testVirtualFunc : MonoBehaviour
{

    // Use this for initialization
    void Start ()
    {
        CSon os1 = new CGrandSon1 ();
        os1.PrintName (); //CSon-----
        os1.test ();    //CSon-test-----
        CSon os2 = new CGrandSon2 ();
        os2.PrintName (); //CGrandSon2-----
    }

    // Update is called once per frame
    void Update ()
    {

    }
}
时间: 2024-10-21 18:38:16

C# 多重overide的相关文章

图的邻接多重表和搜索(C++版本)

最近在学数据结构,学到图这一章,网上的C++版本的代码乱得不行,所以自己写了一个完整C++版本的放这里. 用邻接多重表表示一个无向图,并给出DFS和BFS搜索代码.邻接多重表好处就是贼直观,几条边就几个边表的元素. 代码如下: 边表节点定义(其实就是边的定义) typedef struct EdgeNode //邻接多重表 { int iVertex; EdgeNode* iLink; int jVertex; EdgeNode* jLink; }; 顶点表节点的定义 template <typ

[hdu5445 Food Problem]多重背包

题意:一堆食物,有价值.空间.数量三种属性,一些卡车,有空间,价格,数量三种属性.求最少的钱(不超过50000)买卡车装下价值大于等于给定价值的食物,食物可以拆开来放. 思路:这题的关键是给定的条件:食物可以拆开来放.这个条件使得卡车和食物可以分开考虑,然后通过空间这个属性联系在一起.做两遍多重背包即可. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

hdu 2079 选课时间(题目已修改,注意读题) 多重背包

选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3162    Accepted Submission(s): 2472 Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别

启用和配置Office 365多重身份验证

有朋友问我,Office 365的账户安全性如何?如果别人知道我的账号和密码,那不就随时可以访问我的Office 365.其实Office 365里面有个多重身份验证. 什么是多重身份验证,以及它是如何工作的? 多重身份验证 (MFA) 或双重身份验证 (2FA) 是一种身份验证方法,该方法需要使用多种验证方式,并可为用户登录和交易添加另一道关键保护屏障. 该方法需要使用下列验证方式中的任意两种或更多种来发挥作用: 您知道的信息(通常为密码) 您拥有的东西(不易被复制的受信任设备,如电话) 您的

35、多重比对序列的格式及其应用

转载:http://boyun.sh.cn/bio/?p=1711 这里对多重序列比对格式(Multiple sequence alignment – MSA)进行总结.在做系统演化分析.序列功能分析.基因预测等,都需要涉及到多重序列比对.特别是当需要用不同软件对多重比对序列进行批量操作时,会遇到各种的格式,而这些格式是如何产生的,有什么区别,格式之间如何转换,从哪里可以下载到相关的格式序列,不同的格式又有什么特殊的用途等,本篇文章将就这些问题进行总结与讨论.因为涉及内容较多,不足之处,欢迎大家

switch运用多重if和嵌套if的使用条件

多重if和嵌套if 01使用格式 001多重if选择的情况是如果条件1选择a条件2选b...... 002嵌套if是在条件a的情况选择1在条件1的情况下在选择(1).... switch 01switch的运用和多重if差不多,但switch只能适合byte.short.char.int.enum(Java 5).String(Java 7).不支持> < 02switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高. 03default在

HDU-1171 Big Event in HDU (多重背包)

Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don't know that Computer College had ever been split into Computer College and Software College in 2002.The splitting is absolutely a big

Holding Bin-Laden Captive!(1.多重背包 2.母函数)

Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 41 Accepted Submission(s): 29   Problem Description We all know that Bin-Laden is a notorious terrorist, and he has disap

hihoCoder 1393 网络流三&#183;二分图多重匹配(Dinic求二分图最大多重匹配)

#1393 : 网络流三·二分图多重匹配 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 学校的秋季运动会即将开始,为了决定参赛人员,各个班又开始忙碌起来. 小Hi和小Ho作为班上的班干部,统计分配比赛选手的重任也自然交到了他们手上. 已知小Hi和小Ho所在的班级一共有N名学生(包含小Hi和小Ho),编号依次为1..N. 运动会一共有M项不同的比赛,编号为1..M.第i项比赛每个班需要派出m[i]名选手参加. 根据小Hi和小Ho的统计,编号为i的学生表示最多同时参加