Um eine JavaScript-Klasse mit einer öffentlichen Methode zu erstellen, würde ich etwas tun wie:
function Restaurant() {}
Restaurant.prototype.buy_food = function(){
// something here
}
Restaurant.prototype.use_restroom = function(){
// something here
}
Auf diese Weise können die Benutzer meiner Klasse:
var restaurant = new Restaurant();
restaurant.buy_food();
restaurant.use_restroom();
Wie kann ich eine private Methode erstellen, die von der buy_food
y use_restroom
Methoden, aber nicht von außen durch die Benutzer der Klasse?
Mit anderen Worten, ich möchte, dass meine Methodenimplementierung in der Lage ist, Folgendes zu tun:
Restaurant.prototype.use_restroom = function() {
this.private_stuff();
}
Aber das sollte nicht funktionieren:
var r = new Restaurant();
r.private_stuff();
Wie definiere ich private_stuff
als private Methode, so dass beides zutrifft?
Ich habe gelesen Doug Crockfords Bericht aber es scheint nicht so, als ob "private" Methoden von öffentlichen Methoden aufgerufen werden können und "privilegierte" Methoden von außen aufgerufen werden können.