Menu
CoddyTech

类与对象

本课属于 Coddy PHP 学习旅程的“面向对象编程”单元。第 3 课,共 91 课。

类和对象的作用不同。类是蓝图,而对象是根据蓝图创建出来的。

下面是一个声明了属性的类示例:

<?php
class Dog {
    public $name;
    public $breed;
}

public 关键字表示这些属性可以从类的外部访问。我们会在属性课中进一步学习 public。

现在,从 Dog 类创建对象:

$dog1 = new Dog();
$dog2 = new Dog();

对象的属性可以有各自的值:

$dog1->name = "Nicky";
$dog1->breed = "Siberian Husky";

$dog2->name = "Teemon";
$dog2->breed = "Shu'ali";

-> 运算符用于访问对象的属性。

打印每个对象的数据:

echo $dog1->name . " is a " . $dog1->breed . "\n";
echo $dog2->name . " is a " . $dog2->breed . "\n";

输出:

Nicky is a Siberian Husky
Teemon is a Shu'ali

关键区别:Dog 类定义了所有狗共有的结构,而对象 $dog1 和 $dog2 表示具体、独立的狗,它们具有独特的属性值。

challenge icon

挑战

简单

补全代码,从 Student 类创建两个学生对象并设置它们的属性。

  • student.php:包含 Student 类(已锁定)
  • driver.php:创建对象并设置它们的属性

设置以下值:

  • $student1:姓名为 "Alice",成绩为 "A"
  • $student2:姓名为 "Bob",成绩为 "B"

亲手试试

<?php
require_once 'student.php';

// TODO: 创建两个学生对象


// TODO: 设置 student1 的属性(name: "Alice",grade: "A")


// TODO: 设置 student2 的属性(name: "Bob",grade: "B")


// 打印学生信息
echo $student1->name . " has grade " . $student1->grade . "\n";
echo $student2->name . " has grade " . $student2->grade . "\n";
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: PHP 在线编译器