php学习十一:组合

时间:2022-05-21 16:27:02

我们在类当中我往往会用到一些对象,此时的继承就无法满足我们的需求,这个时候我们需要用到组合。继承如果是is..a的关系,那么组合就是has...a的关系,直接在本类里面声明即可,不过声明的是一个对象

代码:我定义一个Score类,作为Student类的一个组合类

class Score
{
public $english;
public $chinese;
public $math;
function __construct($english,$chinese,$math)
{
$this->chinese = $chinese;
$this->english = $english;
$this->math = $math;
}
}

  

class Student
{
public $name;
public $age;
public $Score;
function __construct($name,$age,Score $Score)
{
$this->name = $name;
$this->age = $age;
$this->Score = $Score; //对象
}
function show(){
echo "我叫{$this->name},今年{$this->age}岁了,
数学:{$this->Score->math},英语:{$this->Score->english},
语文:{$this->Score->chinese}。";
} }

  

在main主页面进行实例化

include_once "Score.class.php";
include_once "Student.class.php";
$score = new Score(100,99,98);
$student = new Student("房明",18,$score);
$student->show();