Zdefiniuj elementy pola prywatnego i dziedziczenie we wzorze modułu JAVASCRIPT

Mogę zdefiniować prywatne pola członków we wzorze modułu, używając poniższego kodu

    var myClass = function(){
       var private_field1,private_field_2;
       var private_func1 = function(){
            //.......
       } 
       //.........
       var myObj = {
         global_field1:2,
         global_field2:"something",
         global_func: function(){//......} 
       }
       return myObj;
    };
   var obj = myClass();

Ta metoda działa dobrze, ale problem z tym problemem polega na tym, że za każdym razem, gdy tworzę nowy obiekt, kopia wszystkich funkcji jest tworzona i ładowana do pamięci (nie jak java, gdzie wszystkie obiekty tej samej klasy dzielą tę samą pamięć funkcji)

Próbowałem użyć innej metody poniżej:

 var myClass = (function(){
           var private_field1,private_field_2;//private static fields
           var private_func1 = function(){
                //.......
           } 
           //.........
           var Constr = function(){
             //do something
           }
           Constr.prototype = {
             //................
             global_func: function(){//......} 
           }
           return Constr;
    }());
var obj1 = new myClass();
var obj2 = new myClass();

Ale problem z tą metodą polega na tym, że oczywiście obj1, obj2 współdzielą tę samą kopię pól prywatnych (tak skutecznie, że są statyczne). Czy istnieje sposób na zdefiniowanie prywatnych pól we wzorze modułu przy użyciu tej samej kopii funkcji dla obiektów?

A dla dziedziczenia dla pierwszej metody wspomnianej powyżej, najpierw muszę utworzyć obiekt wewnątrz klasy potomnej, a następnie zwrócić ten obiekt.

 var ChildClass = function(){
      var childobj = myClass();
      //override or add functions to childobj
      return childobj ;
 }

Ale to jest po prostu zawijanie obiektu baseClass w childClass, czy jest jakiś inny sposób implementacji tego samego (dla pierwszej lub drugiej metody), aby mógł działać jak prawdziwe dziedziczenie java z chronionymi, prywatnymi, itd. Metodami?

questionAnswers(1)

yourAnswerToTheQuestion