zoukankan      html  css  js  c++  java
  • 覆盖

    如何用子类的成员覆盖基类的成员。

    Fruit 类

    using UnityEngine;
    using System.Collections;
    
    public class Fruit 
    {
        public Fruit ()
        {
            Debug.Log("1st Fruit Constructor Called");
        }
    
        //这些方法是虚方法,因此可以在子类中
        //将它们覆盖
        public virtual void Chop ()
        {
            Debug.Log("The fruit has been chopped.");        
        }
    
        public virtual void SayHello ()
        {
            Debug.Log("Hello, I am a fruit.");
        }
    }

    Apple 类

    using UnityEngine;
    using System.Collections;
    
    public class Apple : Fruit 
    {
        public Apple ()
        {
            Debug.Log("1st Apple Constructor Called");
        }
    
        //这些方法是覆盖方法,因此
        //可以覆盖父类中的任何
        //虚方法。
        public override void Chop ()
        {
            base.Chop();
            Debug.Log("The apple has been chopped.");        
        }
    
        public override void SayHello ()
        {
            base.SayHello();
            Debug.Log("Hello, I am an apple.");
        }
    }

    FruitSalad 类

    using UnityEngine;
    using System.Collections;
    
    public class FruitSalad : MonoBehaviour 
    {    
        void Start () 
        {
            Apple myApple = new Apple();
    
            //请注意,Apple 版本的方法
            //将覆盖 Fruit 版本。另外请注意,
            //由于 Apple 版本使用“base”关键字
            //来调用 Fruit 版本,因此两者都被调用。
            myApple.SayHello();
            myApple.Chop();    
    
            //“覆盖”在多态情况下也很有用。
            //由于 Fruit 类的方法是“虚”的,
            //而 Apple 类的方法是“覆盖”的,因此
            //当我们将 Apple 向上转换为 Fruit 时,
            //将使用 Apple 版本的方法。
            Fruit myFruit = new Apple();
            myFruit.SayHello();
            myFruit.Chop();
        }
    }
  • 相关阅读:
    从 http 升级到 https 过程中遇到的一些问题
    Java 对象,数组 与 JSON 字符串 相互转化
    jQuery 事件探秘
    eclipse 添加 hibernate 插件
    struts2 + jquery + json 简单的前后台信息交互
    匿名类、匿名方法、扩展方法
    禁用右键
    JS聊天室
    MVC知识汇总
    知识点汇总
  • 原文地址:https://www.cnblogs.com/Mr-Prince/p/14142102.html
Copyright © 2011-2022 走看看