实例化子类时从超类调用方法

Keropee

无论如何Class扩展类Class您将如何创建,方法会被自动调用/调用。如果听起来有误导性,请编辑我的问题。我只展示一些样品

范例1:

统一时,扩展单行为时,将自动调用方法。我不知道我是否正确。

public class MyController : MonoBehaviour { 

   void Start()
    {     
      //Being Called Once
    }

    void FixedUpdate()
    {   
    //Being Called every update
}

在libgdx上

Game implements ApplicationListener {


    @Override
    public void render () {
        //Called multiple times
    }

}

正如我所了解并尝试实现自己

public abstract Test{

        protected Test(){
            onStart();
        }


        public abstract void onStart();
}


public class Test2 extends Test{

    public Test2(){

    }

    @Override
    public void onStart(){
        //Handle things here
    }

}

对不起,但是我仍然真的不知道它是如何工作的,或者您称这种技术为什。

特别是以统一方式,当创建多个可扩展的控制器时,将Monobehavior调用所有已实现的控制器方法。谁在调用这些类和方法?一些参考或书籍将对此有很大的帮助。

注意:请修改我的标题以使用正确的术语。谢谢

CKing

对不起,但我仍然真的不知道它是如何工作的,或者您称这种技术为什么

在您的Java示例中,该onStart方法被称为挂钩或回调方法。

维基百科对钩子的定义如下:

在计算机编程中,术语“挂钩”涵盖了一系列技术,这些技术通过截获在软件组件之间传递的函数调用或消息或事件来更改或增强操作系统,应用程序或其他软件组件的行为。处理此类拦截的函数调用,事件或消息的代码称为“挂钩”

维基百科定义了如下回调

在计算机程序设计中,回调是一段可执行代码,将其作为参数传递给其他代码,希望在某些方便的时间回调(执行)该参数。调用可能像同步回调中​​一样是立即调用,也可能像异步回调中一样在稍后发生

Test该类实例化方法的任何类Test都将导致被调用onStart方法instance范例:

Test test = new Test2();//calls onStart in Test2.

话虽这么说,但我不确定谁会在这种情况下调用这些方法,MonoiBehavior但是您对如何实现ahookcallbackin的一般理解Java是正确的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在调用方法时获取扩展超类的子类实例

从现有超类实例化子类

通过超类实例调用子类类的方法

在子类的方法中本地调用超类方法时,使用“ super”关键字还是使用超类实例?

Java继承:创建子类实例时如何调用超类方法?

从超类初始化子类的类实例变量

Python-如何从子类实例调用超类的方法?

每次实例化子类时都会创建超类对象吗?

从超类调用子类方法

通过传递子类的实例来调用超类的方法,期望子类实例上的超类参数

初始化子类时可访问超类的变量

如何使超类方法返回子类的实例

调用超类方法而不是子类方法

在超类和子类之间进行等效测试,而无需实例化子类

NSNotificationCenter从超类或子类调用方法?

如何使子类自动调用超类方法

在调用超类的构造函数之前,有什么方法可以在Java中初始化子类的成员变量?

当子类对象存储在超类数组中时,如何调用子类方法?

使用TypeScript从基类中的静态方法实例化子类

抽象类方法-实例化子类对象?

从静态方法实例化子类

java,从超类初始化子类

如何从 Python 中现有的超类类型对象实例化子类类型变量

使用python3中的现有超类实例初始化子类

提供子类实例代替超类时出现Scala错误?

ClassCast异常:子类实现在调用超类方法时抛出异常

从Python超类运行方法时,如何知道调用它的子类的名称?

为什么从子类调用超类方法时我的值为空?

使用子类和超类引用访问实例方法