initClass(cls: Function, baseClass: Function|Array, name: String, interfaces: Array);
cls. Инициализируемый класс;
baseClass. Родительский класс или массив данных классов;
name. Полное наименование класса;
interfaces. Массив реализуемых интерфейсов.
Метод initClass инициализирует класс.
Для выполнения примера необходимо наличие на html-странице ссылки на файл сценария PP.js. Создадим новое пространство имён, перечисление, интерфейс, класс, реализующий данный интерфейс, и определим в нём метод, выполняющий арифметическую операцию над двумя числами:
// Определим новое пространство имен внутри PP PP.ArithmeticNamespace = {}; PP.initNamespace(PP.ArithmeticNamespace, "PP.ArithmeticNamespace"); // В созданном пространстве имен определим интерфейс с одним методом calc PP.ArithmeticNamespace.OperationInterface = function () { var operationInterface = PP.ArithmeticNamespace.OperationInterface; PP.initInterface(operationInterface, "OperationInterface"); operationInterface.calc = PP.ClassMembers.Method; }; // Инициализируем перечисление, содержащее арифметические операции (PP.ArithmeticNamespace.Operations = function () { var operations = PP.ArithmeticNamespace.Operations; operations.Sum = "Sum"; operations.Multiply = "Multiply"; PP.initEnum(operations, "PP.ArithmeticNamespace.Operations"); })(); /* Создадим класс Calculator, наследуемый от класса PP.Object и реализующий интерфейс PP.ArithmeticNamespace.OperationInterface */ PP.ArithmeticNamespace.Calculator = function (settings) { PP.ArithmeticNamespace.Calculator.base.constructor.call(this, settings); }; PP.initClass(PP.ArithmeticNamespace.Calculator, PP.Object, "PP.ArithmeticNamespace.Calculator", PP.ArithmeticNamespace.OperationInterface); // Реализуем метод calc var calculatorPrototype = PP.ArithmeticNamespace.Calculator.prototype; calculatorPrototype.calc = function (a, b, operation) { var result; switch (operation) { case PP.ArithmeticNamespace.Operations.Sum: result = a + b; break; case PP.ArithmeticNamespace.Operations.Multiply: result = a * b; break; }; return result; }; //Создадим экземпляр класса PP.Calculator var calculator = new PP.ArithmeticNamespace.Calculator(); // Получим сумму двух чисел var a = 56, b = 87; var sum = calculator.calc(a, b, PP.ArithmeticNamespace.Operations.Sum); console.log(a + " + " + b + " = " + sum); // Получим произведение двух чисел var mult = calculator.calc(a, b, PP.ArithmeticNamespace.Operations.Multiply); console.log(a + " x " + b + " = " + mult);
В результате выполнения примера было создано пространство имён ArithmeticNamespace, перечисление Operations, интерфейс OperationInterface и реализующий его класс Calculator. Для данного класса был определён метод calc, выполняющий арифметические операции над двумя числами. Результат операции сложения и умножения был выведен в консоль браузера:
56 + 87 = 143
56 x 87 = 4872
См. также: