这是所有 SAP UI5 Object 的基类。
应用程序中一个使用最广泛的方法:BaseObject.extend
例如:
var UShellCrossApplicationNavigationMock = BaseObject.extend("sap.ui5.walkthrough.shellMock.UShellCrossApplicationNavigationMock", {});
这个方法创建一个名为 sClassName 的类 sap.ui.base.Object 的子类,并使用 oClassInfo 中包含的信息来丰富它。
oClassInfo 输入参数包含的字段名称如下:
metadata:带有关于类的元数据的(可选)对象字面量。 对象文字中的信息将由 Metadata 的实例包装,并且可能包含以下信息:
{string[]}
(可选)已实现接口的名称集(默认为无接口){string[]}
(可选)应该是类的公共外观的一部分的方法列表{boolean}
(可选)标志,将类标记为抽象(纯信息,默认为 false){boolean}
(可选)标志,将类标记为 final(默认为 false)constructor:用作新类的构造函数的函数。 如果没有给出构造函数,框架会创建一个默认实现,将其所有参数委托给基类的构造函数。
如果这样的属性有一个函数作为它的值,并且如果属性名称不是以下划线开头或不带有前缀“on”,则该属性名称将自动添加到类的公共方法列表中。 如果方法的名称与该模式匹配,但并不意味着公开,则不应将其包含在类信息对象中,而应将其分配给原型。
新创建的类的原型对象使用与基类实例相同的原型(原型链)。
即使 oClassInfo 对象中没有元数据条目,也会始终创建元数据对象。 元数据的 getter 始终附加到原型和类(构造函数)本身。
最后但同样重要的是,使用第三个参数 FNMetaImpl 可以指定元数据类的构造函数。 该类的实例将用于表示新创建的类和从它创建的任何子类的元数据。 通常,只有框架会使用这个参数来丰富他们引入的新类层次结构的元数据。