Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS:init是一个模板方法,什么是模板方法?_Javascript_Extjs - Fatal编程技术网

Javascript ExtJS:init是一个模板方法,什么是模板方法?

Javascript ExtJS:init是一个模板方法,什么是模板方法?,javascript,extjs,Javascript,Extjs,我刚刚开始在Ext.app.Application中使用init方法,它声明它是一个模板化方法,同样适用于launch和其他一些方法。文档有一个标签,标签上有一个灰色背景,上面写着“模板化” 什么是模板化方法?它与其他方法有何不同 我需要担心吗 有点困惑 找不到关于它的信息 谢谢模板方法是一种可以在派生类上实现的方法,就像您希望的那样,然后自动调用。别担心,这是你会经常做的事情 如果您查看该文件,您将看到它已经存在,但它被分配了一个空函数。框架正在调用该空函数。如果从具有模板方法的类进行扩展,则

我刚刚开始在Ext.app.Application中使用init方法,它声明它是一个模板化方法,同样适用于launch和其他一些方法。文档有一个标签,标签上有一个灰色背景,上面写着“模板化”

什么是模板化方法?它与其他方法有何不同

我需要担心吗

有点困惑

找不到关于它的信息


谢谢

模板方法是一种可以在派生类上实现的方法,就像您希望的那样,然后自动调用。别担心,这是你会经常做的事情

如果您查看该文件,您将看到它已经存在,但它被分配了一个空函数。框架正在调用该空函数。如果从具有模板方法的类进行扩展,则可以“重写”这些方法。框架以特定顺序调用这些方法

Ext.app.Controller的一段源代码:

/**
 * A template method that is called when your application boots. It is called before the
 * {@link Ext.app.Application Application}'s launch function is executed so gives a hook point
 * to run any code before your Viewport is created.
 *
 * @param {Ext.app.Application} application
 *
 * @template
 */
init: Ext.emptyFn,

/**
 * A template method like {@link #init}, but called after the viewport is created.
 * This is called after the {@link Ext.app.Application#launch launch} method of Application
 * is executed.
 *
 * @param {Ext.app.Application} application
 *
 * @template
 */
onLaunch: Ext.emptyFn,

那么模板方法意味着你可以用我自己的函数覆盖它?所以如果它不是一个模板方法,意味着你不能覆盖它?所以创建模板方法就意味着调用Ext.emptyFn?所以我可以在一个可以在子类中重写的类上创建我自己的模板方法?不,模板方法意味着它是一个总是在基类上调用的方法。因此,您不必实现侦听器。如果不“重写”它,基类将调用空函数。如果您实现了它,将调用派生类中的函数。派生类上与基类上的方法同名的方法始终重写基类方法。这是OOP。