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();
        }
    }
  • 相关阅读:
    AGC/ARC
    日常训练
    SQL经典问题四表查询(教师,学生,成绩,课程表)---MySQL版
    15个最佳的 JavaScript 表单验证库
    推荐6个国内技术大牛博客,全栈工程师修行的秘籍!(建议收藏)
    java-linux安装和配置
    vue学习笔记
    JVM学习笔记
    SpringMVC学习笔记
    Mybatis学习笔记
  • 原文地址:https://www.cnblogs.com/Mr-Prince/p/14142102.html
Copyright © 2011-2022 走看看