面向对象编程是一种基于对象的概念进行设计的编程思想,它将程序中的数据和操作数据的方法封装成一个独立的整体,称为对象。每个对象都有自己的数据和方法,这些数据和方法被封装起来,隐藏在对象的内部,对外界不可见。对象之间通过消息传递来进行通信,一个对象可以向另一个对象发送消息,请求对方执行某种操作。
在 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.