Home > Article > Backend Development > Reaction Equation of Manganese Dioxide and Concentrated Hydrochloric Acid Section 8 - Access Method
/*
+------------------------------------------------ ----------------------------------+
| = This article is read by Haohappy<
| = Notes from the Chapter Classes and Objects
| = Translation + personal experience
| = To avoid unnecessary trouble that may occur, please do not reprint, thank you
| = Welcome to criticize and correct, hope and all PHP enthusiasts Make progress together!
| = PHP5 Research Center: http://blog.csdn.net/haohappy2004
+-------------------------- -------------------------------------------------- ---+
*/
Section 8--Access Method
The access method of PHP5 allows restricting access to class members. This is a new feature in PHP5, but it has already existed in many object-oriented languages. Yes Only by knowing the access methods can we develop a reliable object-oriented application and build a reusable object-oriented class library.
Like C++ and Java, PHP has three access methods: public, private and protected. For the access methods of a class member , can be one of them. If you do not specify the access method, the default access method is public. You can also specify an access method for static members and put the access method before the static keyword (such as public static).
Public Members can be accessed without restrictions. Any code outside the class can read and write public properties. You can call a public method from anywhere in the script. In previous versions of PHP, all methods and properties were public. This makes objects feel like well-structured arrays.
Private (private) members are only visible inside the class. You cannot change or read the value of a private property outside the class method in which it resides. Likewise, only Methods in the same class can call a private method. Inherited subclasses cannot access private members in the parent class.
Note that any member of the class and instances of the class can access private members. See Example 6.8, The equals method compares two widgets. The == operator compares two objects of the same class, but in this example each object instance has a unique ID. The equals method only compares name and price. Note how the equals method accesses another object. A private property of a Widget instance. Both Java and C allow such operations.
Listing 6.8 Private members
Copy code The code is as follows:
class Widget
{
private $name;
private $price;
private $id;
public function __construct($name, $price)
{
$this->name = $name;
$this->price = floatval($price);
$this->id = uniqid();
}
//checks if two widgets are the same 检查两个widget是否相同
public function equals($widget)
{
return(($this->name == $widget->name)AND
($this->price == $widget->price));
}
}
$w1 = new Widget('Cog', 5.00);
$w2 = new Widget('Cog', 5.00);
$w3 = new Widget('Gear', 7.00);
//TRUE
if($w1->equals($w2))
{
print("w1 and w2 are the same
n");
}
//FALSE
if($w1->equals($w3))
{
print("w1 and w3 are the same
n");
}
//FALSE, == includes id in comparison
if($w1 == $w2) //不等,因为ID不同
{
print("w1 and w2 are the same
n");
}
?>
复制代码 代码如下:
class Widget
{
private $name;
private $price;
private $id;
public function __construct($name, $price)
{
$this->name = $name;
$this->price = floatval($price);
$this->id = uniqid();
}
//checks if two widgets are the same
public function equals($widget)
{
return(($this->name == $widget->name)AND
($this->price == $widget->price));
}
protected function getName()
{
return($this->name);
}
}
class Thing extends Widget
{
private $color;
public function setColor($color)
{
$this->color = $color;
}
public function getColor()
{
return($this->color);
}
public function getName()
{
return(parent::getName());
}
}
$w1 = new Widget('Cog', 5.00);
$w2 = new Thing('Cog', 5.00);
$w2->setColor('Yellow');
//TRUE (still!) 结果仍然为真
if($w1->equals($w2))
{
print("w1 and w2 are the same
n");
}
//print Cog 输出 Cog
print($w2->getName());
?>
以上就介绍了二氧化锰和浓盐酸反应方程式 第八节--访问方式,包括了二氧化锰和浓盐酸反应方程式方面的内容,希望对PHP教程有兴趣的朋友有所帮助。