这是所有 SAP UI5 Object 的基类。
应用程序中一个应用最宽泛的办法:BaseObject.extend
例如:
var UShellCrossApplicationNavigationMock = BaseObject.extend("sap.ui5.walkthrough.shellMock.UShellCrossApplicationNavigationMock", {});
这个办法创立一个名为 sClassName 的类 sap.ui.base.Object 的子类,并应用 oClassInfo 中蕴含的信息来丰盛它。
oClassInfo 输出参数蕴含的字段名称如下:
metadata:带有对于类的元数据的(可选)对象字面量。对象文字中的信息将由 Metadata 的实例包装,并且可能蕴含以下信息:
- interfaces::
{string[]}
(可选)已实现接口的名称集(默认为无接口) - publicMethods:
{string[]}
(可选)应该是类的公共外观的一部分的办法列表 - abstract:
{boolean}
(可选)标记,将类标记为形象(纯信息,默认为 false) - final:
{boolean}
(可选)标记,将类标记为 final(默认为 false)
constructor:用作新类的构造函数的函数。如果没有给出构造函数,框架会创立一个默认实现,将其所有参数委托给基类的构造函数。
- any-other-name: oClassInfo 中的任何其余属性都被复制到新创建的类的原型对象中。调用者因而能够向类的所有实例增加办法或属性。但请留神,给定值在类的所有实例之间共享。通常,除了申明公共常量外,在这里应用原始值是没有意义的。
如果这样的属性有一个函数作为它的值,并且如果属性名称不是以下划线结尾或不带有前缀“on”,则该属性名称将主动增加到类的公共办法列表中。如果办法的名称与该模式匹配,但并不意味着公开,则不应将其蕴含在类信息对象中,而应将其调配给原型。
新创建的类的原型对象应用与基类实例雷同的原型(原型链)。
即便 oClassInfo 对象中没有元数据条目,也会始终创立元数据对象。元数据的 getter 始终附加到原型和类(构造函数)自身。
最初但同样重要的是,应用第三个参数 FNMetaImpl 能够指定元数据类的构造函数。该类的实例将用于示意新创建的类和从它创立的任何子类的元数据。通常,只有框架会应用这个参数来丰盛他们引入的新类层次结构的元数据。