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

  

最新文章

  1. extjs之apply
  2. 1st贝塞尔函数的使用
  3. Android studio .gitignore 文件的内容
  4. Python:C语言扩展
  5. Docker镜像的获取与删除
  6. Java实现UDP之Echo客户端和服务端
  7. MVC神韵---你想在哪解脱!(十)
  8. Windows store app Settings 的 应用 ( viewmodel + windows.storage)
  9. 日期字符串转换为NSDate
  10. Qt creator自定义编译运行步骤
  11. ThinkPHP - 关联模型 - 一对多
  12. namespace命名空间
  13. JAVA_SE基础——70.Math类
  14. 20175204 张湲祯 2018-2019-2《Java程序设计》
  15. Vijos1755 靶形数独 Sudoku NOIP2009 提高组 T4 舞蹈链 DLX
  16. dom4j 通过 org.dom4j.XPath 设置命名空间来支持 带namespace 的 xpath
  17. Linux预处理、编译、汇编、链接和运行的过程(包括一些基本的命令)
  18. 缓存技术PK:选择Memcached还是Redis?
  19. 雷林鹏分享:jQuery EasyUI 表单 - 过滤下拉数据网格
  20. 练习:自己写一个容器ArrayList集合 一一数组综合练习2

热门文章

  1. VBA学习笔记(6)--抽取第一列中叫“虹虹”的个人信息
  2. flume sourcetype avro http
  3. 【C#】获取机器码MachineCode
  4. eql高可用部署方案
  5. C语言 · 实现strcmp函数 · 字符串比较
  6. Winform DatagridviewcomboboxColumn Disable Style
  7. java的static块执行时机<转>
  8. Fastjson 的简单使用<转>
  9. 电快速脉冲群EFT(概念)
  10. 机器学习之梯度提升决策树GBDT