class DarkRaha extends com { // разработка приложений
            String a="Главная" b="Контакты" c="О сайте"
};

JavaScript

Основы

Введение
Внедрение
Комментарий
Утверждения
Идентификаторы
Типы данных
Литералы
Переменные
Область видимости
Строки
Массивы
Ассоциативные массивы
Выражения и операции
Управляющие операторы
Функции
ООП - объекты
ООП - прототип, наследование
Замыкание
RTTI
Исключения
Объект Math
Объект Global
Объект Number
Регулярные выражения
XML DOM

библиотеки

Справочник по JavaScript

ООП - наследование, прототип

Под наследованием здесь понимается создание новых типов объектов на основе старых. Один из способов был рассмотрен ранее - добавление экземпляру объекту необходимых свойств и методов.

прототип объекта

Если объектов одного типа много, и каждому мы добавляем один и тот же набор свойств, то удобней добавлять свойства не к объекту, а его прототипу. Тогда каждый новый экземпляр объекта уже будет иметь новые свойства и методы. К прототипу можно обратиться как к свойству prototype.


// добавляем к массиву два метода, 
// поиска максимального и минимального значения
Array.prototype.max=function() {
var o;
if(this.length>0) o=this[0];
for (i in this)
   if(this[i]>o) o=this[i];
   
return o;
};

Array.prototype.min=function() {
var o;
if(this.length>0) o=this[0];
for (i in this)
   if(this[i]<o) o=this[i];
   
return o;
};

obj= new Array(1,2,5,200,0,7,8);
document.write("max=" + obj.max()+" min=" +obj.min());

наследование

Для создания иерархии прототипу нужно присвоить экземпляр базового класса. Можно спокойно обращаться к родительским членам, не боясь, что это будет расценено как добавление нового свойства к объекту, т.к. перед добавлением JavaScript просматривает prototype в поисках подходящего члена.


// наш базовый класс, с одним членом basestr 
function ObjP(arg){
this.basestr=arg;	
}

// создаем другой класс и делаем его дочерним
// от класса ObjP
function ObjC(arg){
this.childstr=arg;
}
ObjC.prototype = new ObjP("Hello world");

var v= new ObjC("hello child");
document.write(v.basestr+"<br>"+v.childstr);

Результат:


Рейтинг@Mail.ru