为什么变量应该具有public、private或protect,而函数不应该在类中


Why should variable has public or private or protect but function should not in a class

我知道为什么我不能在没有任何东西的情况下定义类中的变量(公共、私有、保护)

为什么会出现语法错误?

class myclass {
  $var = 'anythig';
}

但这没关系:

class myclass {
  function test() { // code here }
}

最后,为什么我可以在函数中定义一个没有任何内容的var?

class myclass {
  function test() {
   $var = 'anything'; // it has not anythig (public, privare, protect)
  }
}

当你使用任何一种编程语言时,你都应该知道规则,否则,程序的行为会变得奇怪;例如,在您的案例中,在类中声明函数时,省略可见性关键字意味着函数将具有public可见性。

关于属性可见性:

类属性必须定义为publicprivateprotected如果如果使用var声明,则该属性将被定义为public

关于方法可见性:

类方法可以定义为publicprivateprotected定义了在没有任何显式可见性关键字的情况下声明的方法作为CCD_ 10

最后,关于定义变量,我认为您需要了解变量范围。


根据请求,关于以上关于staticprivate的评论:

类成员的staticness旨在处理物质的生存期(无论类的任何实例是否存在,物质都存在),而privateness是关于物质的可见性的(例如:当存在的物质具有private可见性时,无法访问它。)

这两者是不同的概念,并不是相互排斥的(你可以把它们放在一起使用。)把这些概念混合在一起,让我相信你迫切需要阅读一些面向对象的材料。