下面是关于“PHP类(Class)入门教程第2/2页”的完整攻略:
类是一种面向对象编程的基础概念,是指将一组变量和函数封装在一起,用来组织代码和提高代码重用性。类可以看作是构建对象的模板。
以下是创建一个类的基本语法:
class 类名 {
// 类的成员
属性
方法
}
其中,属性是指类的变量,而方法则是指类的函数。
以下是一个示例代码,我们创建了一个名为“Person”的类,并在其中定义了“$name”和“$age”两个属性和“greet()”方法:
class Person {
public $name;
public $age;
public function greet() {
return "Hi, my name is " . $this->name . " and I am " . $this->age . " years old.";
}
}
值得注意的是,方法内的$this
指代的是当前类的实例对象。
创建类之后,我们需要实例化它才能使用其成员。以下是实例化类的基本语法:
$对象名 = new 类名([参数]);
例如,我们可以使用以下代码来实例化Person类:
$person = new Person();
同时,对于需要传入参数的构造函数,则需要对类进行以下修改:
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function greet() {
return "Hi, my name is " . $this->name . " and I am " . $this->age . " years old.";
}
}
然后,我们可以使用以下代码来实例化Person类并传入参数:
$person = new Person("Tom", 18);
一旦成功实例化一个类,我们就可以访问其中定义的属性和方法了。以下是访问类成员的基本语法:
对象名->属性名;
对象名->方法名([参数]);
例如,我们可以使用以下代码来访问Person类中的“greet()”方法:
echo $person->greet();
类的继承是指从一个已有的类派生出一个新类,并且新类会继承原有类的所有属性和方法。以下是继承关系的基本语法:
class 子类名 extends 父类名 {
// 子类的成员
属性
方法
}
例如,我们可以使用以下代码来创建一个名为“Student”的子类,它继承自Person类:
class Student extends Person {
public $major;
public function learn() {
return "I am a student and I am learning " . $this->major . ".";
}
}
需要注意的是,子类可以通过parent::方法名()
调用父类中的方法。
以下是两个示例代码,分别展示了如何实例化类并调用其中的成员:
class Car {
public $brand;
public $model;
public $year;
public function __construct($brand, $model, $year) {
$this->brand = $brand;
$this->model = $model;
$this->year = $year;
}
public function getInfo() {
return "This car is a " . $this->year . " " . $this->brand . " " . $this->model . ".";
}
}
$car = new Car("Toyota", "Corolla", 2021);
echo $car->getInfo();
// 输出:This car is a 2021 Toyota Corolla.
class Calculator {
public function add($num1, $num2) {
return $num1 + $num2;
}
public function subtract($num1, $num2) {
return $num1 - $num2;
}
public function multiply($num1, $num2) {
return $num1 * $num2;
}
public function divide($num1, $num2) {
return $num1 / $num2;
}
}
$calc = new Calculator();
echo $calc->add(2, 3); // 输出:5
echo $calc->subtract(10, 5); // 输出:5