博主信息
博文 18
粉丝 0
评论 0
访问量 17797
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP基础知识类继承的三大功能/抽象类的作用与实现/接口的基本语法学习小结
马晓宁
原创
896人浏览过

1. 类继承的三大功能: 继承,重写,扩展

继承: 父类的二类成员自动成为子类的成员

重写: 覆写与父类/基类同名的成员(属性, 方法)

扩展: 子类添加自身的方法来增加/扩展父类的功能

  1. <?php
  2. class Ren
  3. {
  4. public $name;
  5. public $sex;
  6. public $yuyan;
  7. function Say()
  8. {
  9. echo $this->name."正在讲话!";
  10. }
  11. }
  12. //美国人的子类
  13. class America extends Ren
  14. {
  15. public $ziben;
  16. //子类对父类的方法重写
  17. function Say()
  18. {
  19. parent::Say(); //调用父类的Say()方法
  20. echo "hello !";
  21. }
  22. }
  23. //中国人的子类
  24. class China extends Ren
  25. {
  26. public $shehui;
  27. public $wumai;
  28. //对父类方法重写
  29. function Say()
  30. {
  31. echo "你好!";
  32. }
  33. }
  34. $c = new China();
  35. $c->Say();
  36. ?>

结果:你好


2. 抽象类的作用与实现

<?php
abstract class ren {
public abstract function getUserInfo ();

  1. public abstract function getWalletInfo ();
  2. }
  3. class xuesheng extends ren {
  4. public function getUserInfo () {
  5. echo 'getinfo';
  6. }
  7. public function getWalletInfo () {
  8. echo 'getwalletInfo';
  9. }
  10. }
  11. $Tom = new xuesheng ();
  12. $Tom -> getUserInfo();
  13. $Tom -> getWalletInfo ();

?>
结果:getinfogetwalletInfo


3. 接口的基本语法

  1. <?php
  2. // 声明一个'iTemplate'接口
  3. interface iTemplate
  4. {
  5. public function setVariable($name, $var);
  6. public function getHtml($template);
  7. }
  8. class Template implements iTemplate
  9. {
  10. private $vars = array();
  11. public function setVariable($name, $var)
  12. {
  13. $this->vars[$name] = $var;
  14. }
  15. public function getHtml($template)
  16. {
  17. foreach($this->vars as $name => $value) {
  18. $template = str_replace('{' . $name . '}', $value, $template);
  19. }
  20. return $template;
  21. }
  22. }
  23. ?>

总结:

1.继承并不改变类的结构。而是表名了两个类之间存在着某种关系,使得其中的成员看起来像是在别的类中存在。
2.定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。(抽象类可以没有抽象方法,但是抽象类依然不能被实例化)被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。
3.接口(interface)是一种类似于类的结构,可用于声明实现类所必须声明的方法,例如接口通常用来声明api,而不是用来定义如何实现这个api。

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:接口是api的抽象层, 与具体实现无关
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学