Javascript:
<script type="text/javascript">
function Rectangle()
{
this.height;
this.width;
getHeight = function()
{
return this.height;
}
}
Rectangle.prototype.setHeight = function(value)
{
this.height = value;
}
/* Rectangle.prototype.getHeight = function()
{
return this.height;
} */
Rectangle.prototype.getH = function() {
return this.getHeight();
}
var A = new Rectangle();
A.setHeight(2);
document.getElementById('output').innerHTML = A.getH();
</script>
Hier ein kleines Beispiel einer Klasse Rectangle. Über setHeight kann ich einen Wert setzen und über (im Moment ausgeklammert) getHeight kann ich ihn wieder holen. Nun habe ich versucht die Funktion getHeight in die Funktion Rectangle zu packen und dann von ausen mit getH an zu sprechen, klappt aber so nicht. Ich dachte von aussen kann man auf alles zugreiffen was mit prototype erstellt wurde und alles was in der Funktion selbst erstellt wurde ist von aussen nicht zugreifbar, sprich private. Aber die Funktionen die mit prototype erstellt wurden können auf private zugreiffen. Stimmt das nicht?
... Habe gerade rausgefunden dass es funktioniert wenn ich die private Funktion getHeight mit this.getHeight erstelle. Wieso das?
Gruss