Метод Type.initializeBase
Инициализирует базовый класс и его члены в контексте заданного экземпляра, предоставляющего модель для наследования и инициализации базовых членов.
var typeInstanceVar = typeVar.baseClassName.initializeBase(instance, baseArguments );
Параметры
instance
Экземпляр, для которого выполняется инициализация базового класса. Обычно this.baseArguments
(Дополнительно) Аргументы для базового конструктора. Может быть null.
Возвращаемое значение
Экземпляр базового класса.
Исключения
Тип исключения |
Атрибут Condition |
---|---|
(Отладка) Тип параметра instance отличается от типа текущего экземпляра. |
Заметки
Метод initializeBase используется для инициализации базового класса в контексте заданного экземпляра. Вызовите initializeBase из конструктора или класса, производного от базового класса. При создании экземпляра производного класса происходит вызов метода initializeBase. Экземпляр дочернего класса наследует объектную модель базового класса и выполняется инициализация его членов.
Пример
В следующем примере показано создание базового класса и использование метода initializeBase в конструкторе производного класса.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Sample</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1">
</asp:ScriptManager>
<script type="text/javascript">
// Register classes to test.
Type.registerNamespace('Samples');
Samples.A = function()
{
// Initialize as a base class.
Samples.A.initializeBase(this);
}
Samples.B = function(){}
Samples.C = function(){}
Samples.A.registerClass('Samples.A');
Samples.B.registerClass('Samples.B', Samples.A);
Samples.C.registerClass('Samples.C');
var isDerived;
isDerived = Samples.B.inheritsFrom(Samples.A);
// Output: "true".
alert(isDerived);
isDerived = Samples.C.inheritsFrom(Samples.A);
// Output: "false".
alert(isDerived);
</script>
</form>
</body>
</html>