JavaScript and Object Oriented Programming (OOP)
|
"Subclasses" and "Superclasses"
V Jave a C++ je explicitne dany koncept tried hierarchie. Napriklad kazda trieda ma svoju "superclass" od ktorej zdedila svoje vlastnosti a metody. Kazda trieda moze byt rozsieran alebo "sub-classed" teda vysledna moze zdedit spravanie jej rodica. Ako sme videli, JavaScript podporuje "prototyping" dedicnost, namiesto "class" dedicnosti. Je asak mozno dedicnost reprezentovat inymi sposobmi.
Nasledujeci odstavec je dedicnost skrze funkcie
<script language="javascript" type="text/javascript">
// thanks to webreference
function superClass() {
this.supertest = superTest; //attach method superTest
}
function subClass() {
this.inheritFrom = superClass;
this.inheritFrom();
this.subtest = subTest; //attach method subTest
}
function superTest() {
return "superTest";
}
function subTest() {
return "subTest";
}
var newClass = new subClass();
alert(newClass.subtest()); // yields "subTest"
alert(newClass.supertest()); // yields "superTest"
</script>
Dedicnost zalozena na "Prototypingu" je daleko lepsia pre JavaScript aplikacie vo vacsine pripadov.
|
|
|