Определите Члены частного поля и Наследование в шаблоне модуля JAVASCRIPT

Я могу определить частные поля члена в шаблоне модуля, используя код ниже

    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();

Этот метод работает просто отлично, но проблема с этой проблемой заключается в том, что всякий раз, когда я создаю новый объект, копия всех функций создается и загружается в память (не как в Java, где все объекты одного класса совместно используют одну и ту же память функций)

Я попытался использовать другой метод ниже:

 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();

Но проблема этого метода заключается в том, что obj1, obj2, очевидно, совместно используют одну и ту же копию закрытых полей (поэтому они являются статическими). Так есть ли способ определить частные поля в шаблоне модуля при использовании той же копии функций для объектов?

А для наследования первого метода, упомянутого выше, мне сначала нужно создать объект внутри дочернего класса, а затем вернуть этот объект.

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

Но это фактически просто обертывание объекта baseClass в childClass. Есть ли какой-то другой способ реализовать то же самое (для 1-го или 2-го метода), чтобы он мог действовать как истинное наследование Java с защищенными, частными и т. Д. Методами?

Ответы на вопрос(1)

Ваш ответ на вопрос