首先,我们需要明确什么是PHP类。在面向对象的编程中,类是一种封装数据和方法的结构。PHP 提供了许多相关函数,来帮助我们创建、使用和操作类。下面我们就来详细讲解一下 PHP 类相关函数的使用。
类的创建和访问
创建一个类可以使用关键字 class
,通过 new
关键字来实例化一个对象,使用箭头符号 ->
来访问对象的成员属性和方法。
class Person {
public $name;
private $age;
protected $gender;
public function getAge() {
return $this->age;
}
public function setAge($age) {
$this->age = $age;
}
protected function setGender($gender) {
$this->gender = $gender;
}
}
$person = new Person();
$person->name = 'Lucy';
$person->setAge(25);
echo $person->name . ' is ' . $person->getAge() . ' years old.'; // 输出:Lucy is 25 years old.
在上面的代码中,我们创建了一个名为 Person
的类,具有 name
,age
和 gender
三个属性,并分别设置了它们的访问权限为 public
、private
和 protected
。其中,$name
属性被设置为 public
,可以直接被访问和修改;$age
属性被设置为 private
,只能通过 getAge()
和 setAge()
方法来读取和修改;而 $gender
属性被设置为 protected
,同样只能在类内部和子类中进行访问和修改。
我们使用 new
关键字实例化了一个 Person
对象,将其赋值给 $person
变量。然后,我们通过箭头符号 ->
来访问 $person
对象的 name
属性和 setAge()
方法,分别进行了赋值和修改操作。最后,我们用 echo
函数输出了姓名和年龄的信息。
类的继承和重写
继承是面向对象编程中的一种重要概念,表示一个类可以继承其它类的属性和方法。在 PHP 中,我们使用关键字 extends
来实现继承。子类可以重写(overriding)父类中的成员,即改变它的默认实现。
class Employee extends Person {
private $salary;
public function setSalary($salary) {
$this->salary = $salary;
}
public function setGender($gender) {
parent::setGender($gender);
}
public function getGender() {
return $this->gender;
}
}
$employee = new Employee();
$employee->name = 'Bob';
$employee->setAge(30);
$employee->setSalary(3000);
$employee->setGender('Male');
echo $employee->name . ' is ' . $employee->getAge() . ' years old, salary is ' . $employee->salary . ' and gender is ' . $employee->getGender() . '.'; // 输出:Bob is 30 years old, salary is 3000 and gender is Male.
在上面的代码中,我们创建了一个名为 Employee
的类,它继承了 Person
类并增加了 salary
属性和 setSalary()
方法。我们也重写了 setGender()
方法,但是在其中调用了 parent::setGender()
方法,即调用父类中的实现。子类中的 getGender()
方法可以正常访问到继承下来的 $gender
属性。
总结
- 使用
class
关键字来创建类,通过new
关键字来实例化对象。 - 通过
->
来访问对象的属性和方法。 - 使用
extends
关键字来实现类的继承,通过parent::
来访问父类的属性和方法。 - 可以使用
public
,private
和protected
分别来设置属性和方法的访问权限。 - 在子类中重写父类的成员,可以改变它的默认实现。
示例说明:
- 第一个示例展示了如何创建一个名为
Person
的类,具有name
,age
和gender
三个属性,并演示了如何访问对象的成员属性和方法。 - 第二个示例展示了如何创建一个名为
Employee
的类,它继承了Person
类并增加了salary
属性和setSalary()
方法,同时还展示了如何重写父类的成员,以及访问父类的属性和方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP 类相关函数的使用详解 - Python技术站