详解php中的类与对象(继承)
类和对象
php中的类是一种抽象的概念,用来描述某些具有相同属性和方法的实物,其实例化后就成为了对象。一个类可以包含多个方法和属性,其中方法用于定义能够执行的操作,属性则用来存储对象的状态。
在php中,我们可以使用class
关键字定义一个类。例如,下面定义了一个名为Person
的类:
class Person{
public $name;
public $age;
function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
function sayHello() {
echo "Hello, I am ".$this->name;
}
}
在此类中,我们定义了两个属性,即name
和age
以及两个方法,即构造函数__construct
和sayHello
。其中构造函数在对象实例化时自动调用,而sayHello
方法则用于输出当前对象的姓名。
要实例化Person类,可以使用new
关键字来创建一个对象,如下所示:
$p1 = new Person("John", 25);
$p1->sayHello(); //输出 "Hello, I am John"
继承
php中的继承是面向对象编程的一个重要特性,它允许我们创建一个新的类,从而可以重用现有类的属性和方法,而不用重复编写它们。
继承类被称为子类,被继承的类称为父类。子类继承父类的所有属性和方法,同时也可以添加新属性和方法。简单的说,子类就是扩展了父类的新类。
下面是示例代码:
class Student extends Person {
public $grade;
function __construct($name, $age, $grade) {
parent::__construct($name, $age);
$this->grade = $grade;
}
function sayHello() {
echo "Hello, I am ".$this->name." and I am a student in grade ".$this->grade;
}
}
在此示例代码中,我们定义了一个名为Student
的类,并使用extends
关键字继承了Person
类。该类新增了一个grade
属性和一个重写了sayHello
方法。
通过调用parent::__construct()
,我们在子类的构造函数中调用父类的构造函数,以便产生与父类相同的属性。此外,我们还在子类中重写了父类的sayHello
方法以输出学生信息。
下面示例代码演示了如何创建一个Student
实例和调用其sayHello
方法。
$s1 = new Student("Tom", 18, "A");
$s1->sayHello(); //输出 "Hello, I am Tom and I am a student in grade A"
上述示例展示了php中继承的基本用法,我们可以通过继承实现代码的复用、提高代码的可维护性,并且可以通过子类来添加额外的功能。在实际使用中,应合理选择继承和组合等编程方式,以达到更好的代码结构和可维护性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解php中的类与对象(继承) - Python技术站