Unity中的重载和重写

这篇具有很好参考价值的文章主要介绍了Unity中的重载和重写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、重载

重载:(两个必须一个可以)

  1. 参数名必须相同
  2. 参数列表必须不同
  3. 返回值类型可以不同

代码示例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OverLoad : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.L))
        {
            Eat(3.2f);
        }

        if (Input.GetKeyDown(KeyCode.K))
        {
            Eat(3);
        }
    }

    public void Eat(int i)
    {
        Debug.Log("我是int类型的吃");
    }

    public int Eat(float i)
    {
        Debug.Log("我是Float类型的吃");
        return 0;
    }

    public virtual void SayHello(string name)
    {
        Debug.Log(name + "你好!");
    }

}

结果:
Unity中的重载和重写

二、重写

重写:(三个必须)

  1. 函数名必须相同
  2. 参数列表必须相同
  3. 返回值类型必须相同

代码示例:
父类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OverLoad : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.J))
        {
            SayHello("小朱");
        }
    }

    public virtual void SayHello(string name)
    {
        Debug.Log(name + "你好,我是父类方法");
    }

}

子类继承父类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OverWirte : OverLoad
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.U))
        {
            SayHello("小朱");
        }
    }

    public override void SayHello(string name)
    {
        Debug.Log(name+"你好,我是重写方法");
    }

}

结果:
Unity中的重载和重写文章来源地址https://www.toymoban.com/news/detail-510208.html

三、重载和重写的区别

  1. 多态、封装、继承的位置不同,重载在同一定义域中(如在同一类中),重写在子类中。
  2. 定义不同,重载两个必须一个可以,重写三个必须
  3. 调用方式不一样,重载相同对象可以调用不同参数,重写不同对象调用相同参数
  4. 多态时机不同,重载编译时多态,重写运行时多态。

到了这里,关于Unity中的重载和重写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java中方法的重载与重写

    提示:这里可以添加本文要记录的大概内容: 方法的重载与重写容易混,所以单独拿出来比较 提示:以下是本篇文章正文内容,下面案例可供参考 在同一个类中,允许定义一个以上同名的方法称为方法重载 方法重载的规则: 方法名相同 方法的参数必须不同,参数类型或参

    2024年02月08日
    浏览(44)
  • java面试基础 -- 方法重载 & 方法重写

    目录 重载 重写           方法的重载是指在同一个类中定义多个方法, 他们具有相同的名称, 但是具有不同的参数列表, 例如:         此处我们看到三个不同参数的, 但是具有相同返回值和方法名的方法. 有如下测试案例: 运行结果为:  我们将其中一个myMethod方法的返回值改

    2024年02月12日
    浏览(51)
  • 关于Java中方法重载和方法重写

    方法重写是子类继承父类(默认继承Object类)后覆盖父类的方法 需要保证同名 同参 同返回值 且访问权限范围不能缩小(publicprotecteddefaultprivate) 方法重载是同类中可以有多个同名但参数不同的方法 调用方法的时候可根据传参情况执行对应的方法 需要注意参数不同可以指参数数量

    2023年04月20日
    浏览(52)
  • Go语言支持重载吗?如何实现重写?

    Go语言不支持传统意义上的函数和方法重载。在Go语言中,函数名或方法名不能相同但参数列表不同,因为这会导致编译错误。 然而,可以通过方法重写(override)来实现类似的功能。方法重写是指在子类中定义一个与父类同名的方法,从而覆盖父类中的方法。 下面是一个简

    2024年04月09日
    浏览(46)
  • Java中方法的重载和重写的区别。

    一、定义上的区别: 1、重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实

    2023年04月08日
    浏览(47)
  • 【JAVA】关于重写(Override)与重载(Overload)

    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 关于JAVA,我们也已经学习过一段时间了,今天我们来学习一下在JAVA中方法的重载与重写。 方法重载(overload)是指 在一个类中定义多个同名但参数列表不同的方法 。Java编译器会根据方法调用时传递的参数来选择调用

    2024年02月08日
    浏览(53)
  • 【C++】多态的概念和简单介绍、虚函数、虚函数重写、多态构成的条件、重载、重写、重定义

        C++中的多态是一种面向对象编程的特性, 它允许不同的对象对同一个消息做出不同的响应。 多态性能够提高代码的可复用性和灵活性,使得代码更加模块化和可扩展。    多态性是通过使用继承和虚函数实现的。 当一个类被声明为虚函数时,它可以被子类重写,并

    2024年02月13日
    浏览(43)
  • java八股文面试[java基础]—— 重载 和 重写

      Overload Override Overwrite三者区别:   Java中,有一个名叫方法签名的东西,它的定义是这样的 Definition: Two of the components of a method declaration comprise the method signature—the method’s name and the parameter types. 大概意思是,方法签名有两部分组成——方法名和参数列表 我上面的函数的方法

    2024年02月12日
    浏览(50)
  • java.8 - java -override&overload 重写和重载

    重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变 。 即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异常或者比被重写方法

    2024年02月11日
    浏览(46)
  • 还没搞懂重写和重载吗?这篇文章可以帮助你

    首先,会大致介绍一下什么叫做向上转型,方便后续的理解 提示:以下是本篇文章正文内容,下面案例可供参考 向上转型是Java的一个多态性的表现形式。指的是一个子类的对象赋值给父类类型的引用变量。换句话说,它是将一个对象转换为它的父类类型。 在上述示例中,

    2024年02月06日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包