Метод Type.initializeBase

Инициализирует базовый класс и его члены в контексте заданного экземпляра, предоставляющего модель для наследования и инициализации базовых членов.

var typeInstanceVar = typeVar.baseClassName.initializeBase(instance, baseArguments );

instance

Экземпляр, для которого выполняется инициализация базового класса. Обычно this.

baseArguments

(Дополнительно) Аргументы для базового конструктора. Может быть null.

Экземпляр базового класса.

Тип исключения

Атрибут Condition

Функция Error.argumentType

(Отладка) Тип параметра 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>



Показ: