Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] zmienne klasowe "protected" w javascript
--adrian--
post
Post #1





Goście







Witam
W taki sposob realizuje dziedziczenie w javascripcie:
  1. var KlasaPochodna=function()
  2. {
  3. var tempBazowa=new KlasaBazowa();
  4. for (property in tempBazowa)
  5. {
  6. this[property] = tempBazowa[property];
  7. }
  8.  
  9. ...
  10. }

Niestety w ten sposob przekazywane sa tylko funkcje i zmienne "publiczne". Moje pytanie jest czy da sie w jakis sposob dziedziczyc z klasy bazowej zmienne i metody "prywatne"(tj. w innych jezykach "protected")? z góry dziekuje za wszystkie odpowiedzi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
droslaw
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 33
Dołączył: 10.05.2011
Skąd: Krak

Ostrzeżenie: (0%)
-----


Ja pisałem o dziedziczeniu przez prototype. Jeśli dziedziczysz przez call, to działa tak jak w Twoim przykładzie.
A co się stanie jeśli dziedziczysz przez prototyp:
Kod
function Parent(){
    var field;
    this.setField = function(value){
        field = value;
    };
    this.getField = function(){
        return field;
    };
}
        
function Child(){
    
}
Child.prototype = new Parent();

child1 = new Child();
child2 = new Child();
child1.setField(1); // w child1 przypisuję 1 do field
alert(child2.getField()); // w child2 też jest 1
child2.setField(2); //w child2 przypisuję 2 do field
alert(child1.getField()); // w child1 też jest 2

przykład

Ten post edytował droslaw 10.09.2012, 11:56:32
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 15:18