面向对象编程是一种基于对象的概念进行设计的编程思想,它将程序中的数据和操作数据的方法封装成一个独立的整体,称为对象。每个对象都有自己的数据和方法,这些数据和方法被封装起来,隐藏在对象的内部,对外界不可见。对象之间通过消息传递来进行通信,一个对象可以向另一个对象发送消息,请求对方执行某种操作。
在 PHP 中,类是对象的模板,它定义了对象的数据和方法的结构。对象是类的实例,它根据类的模板创建出来,并拥有类的所有数据和方法。
创建一个类,可以使用 class
关键字,紧跟类名,类名应该以大写字母开头。在类的定义中,可以使用 public
、protected
和 private
关键字来控制数据的可见性。
class MyClass {
public $public_data;
protected $protected_data;
private $private_data;
public function __construct($public_data, $protected_data, $private_data) {
$this->public_data = $public_data;
$this->protected_data = $protected_data;
$this->private_data = $private_data;
}
public function publicMethod() {
echo "This is a public method.
";
}
protected function protectedMethod() {
echo "This is a protected method.
";
}
private function privateMethod() {
echo "This is a private method.
";
}
}
要创建一个对象,可以使用 new
关键字,紧跟类名。
$myObject = new MyClass("public data", "protected data", "private data");
要访问对象的数据和方法,可以使用对象的箭头符号 (->
)。
echo $myObject->public_data; // 输出:public data
$myObject->publicMethod(); // 输出:This is a public method.
要调用对象的受保护的方法,可以使用 parent::
操作符。
class ChildClass extends MyClass {
public function callProtectedMethod() {
parent::protectedMethod(); // 输出:This is a protected method.
}
}
$childObject = new ChildClass();
$childObject->callProtectedMethod(); // 输出:This is a protected method.
要调用对象的私有方法,可以使用 self::
操作符。
class MyClass {
private function privateMethod() {
echo "This is a private method.
";
}
public function callPrivateMethod() {
self::privateMethod(); // 输出:This is a private method.
}
}
$myObject = new MyClass();
$myObject->callPrivateMethod(); // 输出:This is a private method.
以上是关于 PHP 类和对象的一些基本知识。更多关于 PHP 类和对象的知识,请参考 PHP 手册。