相关疑难解决方法(0)

Python在类中有"私有"变量吗?

我来自Java世界并阅读Bruce Eckels的Python 3模式,食谱和成语.

在阅读类时,接着说在Python中没有必要声明实例变量.你只需在构造函数中使用它们,然后繁荣,它们就在那里.

例如:

class Simple:
    def __init__(self, s):
        print("inside the simple constructor")
        self.s = s

    def show(self):
        print(self.s)

    def showMsg(self, msg):
        print(msg + ':', self.show())
Run Code Online (Sandbox Code Playgroud)

如果这是真的,那么类的任何对象都Simple可以只改变s类外的变量值.

例如:

if __name__ == "__main__":
    x = Simple("constructor argument")
    x.s = "test15" # this changes the value
    x.show()
    x.showMsg("A message")
Run Code Online (Sandbox Code Playgroud)

在Java中,我们学习了有关公共/私有/受保护变量的知识.这些关键字是有意义的,因为有时你想要类中的变量,类外没有人可以访问.

为什么Python中不需要这样做?

python private class

532
推荐指数
11
解决办法
42万
查看次数

在php中避免访问修饰符的原因

什么是有效的理由不使用关键字公共,私人,受保护的PHP?

故事:我已经开始了一个项目,其团队在他们的代码中积极使用访问修饰符(甚至明确地"公开"),并想说服我这样做.我总是觉得这种东西在像php这样的动态语言中完全没用,但我意识到我的直觉在技术讨论中几乎不是一个论点.因此,我正在寻找一个可靠,清晰的解释为什么访问修饰符在php中无用(甚至有害).

我知道已经存在一些类似的主题

但是我发布这个有几个原因

  • 我不是在问我是否应该使用"公开".我已经没有使用它了.
  • 我明确没有兴趣听到为什么访问修饰符是好的(我知道它们很糟糕,我只需要专家来确认).
  • 如果您要告诉我"最佳实践"和"OOP原则",请不要打扰.

TIA

php oop private protected public

4
推荐指数
2
解决办法
4697
查看次数

标签 统计

private ×2

class ×1

oop ×1

php ×1

protected ×1

public ×1

python ×1