我是OOP的新手,需要澄清一些概念。我有一个带有私有变量和两个简单函数的简单类。函数一将私有变量的值设置为40.现在如何访问函数二中的变量值,使变量值为40?
class MyClass {
//declaring private variable:
private $var = '';
function MyfuncOne(){
$this->var = "40";
}
function MyfuncTwo(){
}
}
如何访问MyfuncOne()中声明的$this->var
值40?
答案 0 :(得分:2)
在功能二中,您可以像以下一样访问它:
function MyFuncTwo() {
print $this -> var; // Just access it, its a member variable of the same class
}
该变量对从该类继承的其他类是私有的(无法访问),但可以从其他成员函数完全访问。
在默认构造函数上编辑 如果要在不先调用函数的情况下将值设置为40,则可能需要一个默认构造函数。
请参阅:http://php.net/manual/en/language.oop5.decon.php
简单地:
class MyClass {
//declaring private variable:
private $var = '';
// This is the default constructor, it gets called when you create the object
function __construct() {
$this -> var = "40";
}
function MyfuncOne(){
$this->var = "40";
}
function MyfuncTwo(){
}
function get_var() {
return $this -> var;
}
}
然后当你制作你的对象时,它将被设置为“40”:
$obj = new MyClass();
print "The object's var is " . $obj -> get_var(); // Notice we didn't have to call MyFuncOne(), it's just set.