Знакомство с css



Download 0,88 Mb.
bet25/46
Sana15.04.2022
Hajmi0,88 Mb.
#552991
TuriТесты
1   ...   21   22   23   24   25   26   27   28   ...   46
Bog'liq
ТЕКСТ ЛЕКЦИИ ВЕБ нью

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


В JavaScript наследование реализуется путем ассоциирования объектов- прототипов с функциями-конструкторами, при этом используется свойство prototype конструктора. Другими словами, если требуется создать тип объектов, наследующий свойства и методы некоторого объекта, необходимо присвоить свойству prototype функции-конструктора этот объект. Далее приведен пример, демонстрирующий принцип реализации наследования в JavaScript.


function Object_1(x)
{
this.x = x || 0;
}


function Object_2(x, y)
{
this.parent = Object_1;
this.parent(x); // вызов конструктора Object_1
// для инициализации свойств
// объекта-прототипа
this.y = y || 0;
}


Object_2.prototype = new Object_1; // устанавливаем для
// Object_2 объект-прототип var obj = new Object_2(10, 20);
// создаем объект типа
// Object_2, который
// наследует свойство x,
// определяемое в Object_1

В этом примере путем определения функций-конструкторов специфици руются два типа объектов: Object_1 и Object_2. Затем создается простая иерархия — Object_2 наследует свойства Object_1.


В примере существует один немаловажный момент, который необходимо отметить особо. В конструктор Object_1 передается параметр x, значение которого служит для инициализации свойств объектов типа Object_1. Скорее всего, нам захочется иметь возможность прозрачной инициализации свойств, наследуемых Object_2 от Object_1 при создании объектов типа Object_2. Поэтому логично передавать параметр x в конструктор Object_2, а затем вызывать конструктор Object_1 с этим параметром. Обратите внимание на то, как это делается. Сначала некоторому свойству объекта (в примере это свойство parent, но имя свойства может быть любым) присваивается ссылка на конструктор Object_1, а затем производится вызов этого конструктора как метода Object_2 через значение этого свойства. Зачем? Дело в том, что конструктор Object_1 определяет свойства или методы создаваемого объекта (в нашем случае это свойство x) через ссылку this на этот объект. А ссылка this передается в функцию, если она является методом объекта. Вызывая конструктор Object_1 как метод Object_2, мы обеспечиваем передачу в Object_1 через this-ссылки на тот же объект, с которым работаем в конструкторе Object_2. Важно не прерывать цепочку вызовов конструкторов, если мы не хотим инициализации некоторых свойств объектов параметрами по умолчанию.

Download 0,88 Mb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   ...   46




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish