Bergervei/Javascript-Spielwiese

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
== Gebrauch des Smileys ==
<check execute="(3 != 3)">
false
</check>

== Kapselung von Daten ==
<code id="575c048a2fe7e">
function ClassName(param1) {
 var wert = param1;
 this.GetWert = function() {
  return wert;
 }
}
</code>

<run id="575c048a3001b">
var Objekt1 = new ClassName(42);
Objekt1.GetWert();
</run>

== Vererbung ==
<code id="575c048a2feeb">
function SuperClass(param1, param2) {
 var a = param1;
 var b = param2;
 this.GetA = function() {
  return a;
 }
 this.GetB = function() {
  return b;
 }
}

function SubClass(param1, param2, param3) {
 SuperClass.call(this, param1, param2);
 var c = param3;
 this.GetC = function() {
  return c;
 }
}
</code>

<run id="575c048a3007d">
var SubObjekt1 = new SubClass(1, 2, 3);
SubObjekt1.GetC();
</run>

== Überschreiben von Methoden ==
<code id="575c048a2ff4c">
function SubSubClass(param1, param2, param3) {
 SubClass.call(this, param1, param2, param3);
 var c = param1 + param2 + param3;
 this.GetC = function() {
  return c;
 }
}
</code>

<run id="575c048a300da">
var SubObjekt2 = new SubSubClass(1, 2, 3);
SubObjekt2.GetC();
</run>

== Polymorphie ==
<code id="575c056e1775e">
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="575c056e17869">
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>