PHP:什么是Getter和setter?
PHP5中的getter和setter是什么PHP:什么是Getter和setter?,php,oop,setter,getter,Php,Oop,Setter,Getter,PHP5中的getter和setter是什么 有人能给我一个很好的例子来解释吗?PHP手册在这个问题上确实不是很详细,但是有一个非常详细的例子应该解释很多 类的属性可以是私有的。这意味着只有对象可以读取和写入自己的私有属性。因此,您需要方法来做到这一点。读取和返回属性值的方法称为getter,写入属性的方法称为setter。通过这些方法,类可以控制输出和输入的内容。这个概念叫做。这是OOP中数据隐藏(或封装)的概念。例如,如果你想在你的类中有一个特定的属性,比如说'Amount',并给你的类的客
有人能给我一个很好的例子来解释吗?PHP手册在这个问题上确实不是很详细,但是有一个非常详细的例子应该解释很多 类的属性可以是私有的。这意味着只有对象可以读取和写入自己的私有属性。因此,您需要方法来做到这一点。读取和返回属性值的方法称为getter,写入属性的方法称为setter。通过这些方法,类可以控制输出和输入的内容。这个概念叫做。这是OOP中数据隐藏(或封装)的概念。例如,如果你想在你的类中有一个特定的属性,比如说'Amount',并给你的类的客户端更改或提取它的值的选项,你应该将你的变量'Amount'设置为私有的(对于那些使用你的类的人来说是不可见的),并生成两个方法一个getter和一个setter来处理你的值(这是公共的) 原因是能够在设置或获取值之前验证数据或对其进行操作。下面是一个简单的例子:
class test {
private $count; //those who use your class are not able to see this property, only the methods above
public function setCount( $value )
{
//make some validation or manipulation on data here, if needed
$this->count = $value;
}
public function getCount()
{
return $this->count;
}
}
getter和setter在PHP5中是一个全新的概念,其形式是两个神奇的函数uu get()和set()。这两个函数设置或获取对象的属性值,如下例所述
class Datatype{
private $thing;
public function _set($k,$v){
$this->$k = $v;
}
public function __get($k){
return $this->$k;
}
}
在某些情况下,getter和setter与封装相反。如果您有一个变量的getter和setter,那么您很有可能需要更改您的设计,因为您基本上公开了该内部成员。当您可以使用更封装的“moveTo”或“moveBy”方法时,为什么要使用setX、getX、setY、getY?