Bergervei/Javascript-OOP
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
== Kapselung von Daten ==
<code id="575d0e9db9995">
function ClassName(param) {
var wert = param;
this.GetWert = function() {
return wert;
}
}
</code>
<run id="575d0e9db9bb4">
var Objekt = new ClassName(42);
Objekt.GetWert();
</run>
== Vererbung ==
<code id="575d0e9db9a14">
function SuperClass(param1, param2) {
var a = param1;
var b = param2;
this.GetA = function() {
return a;
}
this.GetB = function() {
return b;
}
}
</code>
<run id="575d0e9db9c1c">
var SuperObjekt = new SuperClass(1, 2, 3);
SuperObjekt.GetA();
</run>
<code id="575d0e9db9a7a">
function SubClass(param1, param2, param3) {
SuperClass.call(this, param1, param2);
var c = param3;
this.GetC = function() {
return c;
}
}
</code>
<run id="575d0e9db9c7c">
var SubObjekt1 = new SubClass(1, 2, 3);
SubObjekt1.GetC();
</run>
== Überschreiben von Methoden ==
<code id="575d0e9db9adb">
function SubSubClass(param1, param2, param3) {
SubClass.call(this, param1, param2, param3);
var c = param1 + param2 + param3;
this.GetC = function() {
return c;
}
}
</code>
<run id="575d0e9db9cdc">
var SubObjekt2 = new SubSubClass(1, 2, 3);
SubObjekt2.GetC();
</run>
== Polymorphie ==
<code id="575d0e9db9b3d">
function AbstractClass() {
var a = 0;
var b = 0;
var c = 0;
this.GetA = function() {
return a;
}
this.GetB = function() {
return b;
}
this.GetC = function() {
return c;
}
}
SuperClass.prototype = new AbstractClass();
SubClass.prototype = new AbstractClass();
SubSubClass.prototype = new AbstractClass();
</code>
<run id="575d0e9db9d3d">
var TestObjekt1 = new SuperClass(1, 2);
var TestObjekt2 = new SubClass(2, 3, 4);
var TestObjekt3 = new SubSubClass(5, 6, 7);
TestObjekt1.GetC() + "\n" + TestObjekt2.GetC() + "\n" + TestObjekt3.GetC() + "\n" ;
</run>