javascript - JS : OOP private functions/private fields

标签 javascript oop class

Systemname =
{

Question :
{
    send: function()
    {
        console.log("send");
    },

    read:   function()
    {
        console.log("read");
    },

    delete: function()
    {
        console.log("delete");
    }
},

Answer :
{
    send: function()
    {
        console.log("Answer sent");
    }
},

Person :
{
    foo: 'foo',
    bar: 'bar',


    add: function(name)
    {
        console.log('person "' + name + '" added');
    },

    remove: function(id)
    {
        console.log('person with id "' + id + '" removed');
    }
}

}

我正在学习 oop 如何在 js 中工作,现在我对私有(private)方法和字段有点困惑。我想在人员部分中有一些私有(private)成员,例如“personCount”或“lastAddedPerson”。如果我像这样添加它们:

Person:
{
    personCount: 0,
    lastAddedPerson: '',
    ...
}

在人员部分的开头,字段是公共(public)的,可以使用 Systemane.Person.Field 调用...我如何将它们设置为私有(private)?方法也是如此。

感谢您的帮助。

最佳答案

这是一种方法。

function Person(n) {
   var name = n;
   this.getName = function() {
     return name;
   }
   this.setName = function(newName) {
      name = newName;
   }
}

var person = new Person('roman');

关于javascript - JS : OOP private functions/private fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15509811/

相关文章:

javascript - 我可以使用 webpack 分别生成 CSS 和 JS 吗?

javascript - 通过对象属性从数组中删除对象

python - 如何调用存储在变量中的方法?

python - 在 python 中从 __new__() 调用其他类方法

vba - 在 VBA 中设置对象的集合属性

javascript - 转换为 JS 对象

javascript - 当指定文本位于页面上时,Jquery 用户脚本单击单选按钮

java - 指定 main 方法接受的参数类型的目的是什么?

java - 我怎样才能更好地表示用户权限?

c# - 类层次结构问题(具有泛型的方差!)