php学习十一:组合
我们在类当中我往往会用到一些对象,此时的继承就无法满足我们的需求,这个时候我们需要用到组合。继承如果是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();
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号