博主信息
博文 36
粉丝 1
评论 0
访问量 37609
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实例演示类的扩展、抽象和接口 命名空间概念与作用
早晨
原创
994人浏览过

类的扩展、抽象和接口实例代码

  1. <?php
  2. namespace _0815;
  3. // 父级类
  4. class Ab
  5. {
  6. protected $name;
  7. public function __construct($name)
  8. {
  9. $this->name = $name;
  10. }
  11. protected function getInfo(): string
  12. {
  13. return $this->name;
  14. }
  15. }
  16. // 继承父级类
  17. class Cd extends Ab
  18. {
  19. private $sex;
  20. private $nation;
  21. public function __construct($name, $sex, $nation)
  22. {
  23. parent::__construct($name);
  24. $this->sex = $sex;
  25. $this->nation = $nation;
  26. }
  27. public function getInfo(): string
  28. {
  29. return '姓名:' . parent::getInfo() . '---->性别:' . $this->sex . '---->国籍: ' . $this->nation . '<br>';
  30. }
  31. }
  32. $cd = new Cd('早晨', '男', '中国');
  33. echo '-----------------继承类-----------------------------------<br>';
  34. echo $cd->getInfo() . '<br>';
  35. // 抽象类
  36. abstract class User1
  37. {
  38. public $name = '小明同学';
  39. abstract public static function getInfo($name);
  40. }
  41. class User2 extends User1
  42. {
  43. public static function getInfo($name)
  44. {
  45. return 'Hello, ' . $name;
  46. }
  47. }
  48. echo '-----------------抽象类-----------------------------------<br>';
  49. echo User2::getInfo('早上好') . '<br>';
  50. // 接口类
  51. interface iWeixin
  52. {
  53. public function WeixinName();
  54. }
  55. // 继承接口
  56. class Weixin implements iWeixin
  57. {
  58. public $wx_name = '微信API';
  59. public function WeixinName()
  60. {
  61. return '接口名称:' . $this->wx_name;
  62. }
  63. }
  64. echo '-----------------接口类-----------------------------------<br>';
  65. $api_weixin = new Weixin();
  66. echo $api_weixin->WeixinName();

运行效果

全局成员有三种:类、函数、常量,特点是不能重复声明。

namespace即“命名空间”,也称“名称空间” 、”名字空间”。如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。为了解决这个问题,引入了名字空间这个概念。
命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。
命名空间的作用:是建立一些互相分隔的作用域,把一些全局实体分隔开来。命名空间的作用类似于操作系统中的目录和文件的关系,由于文件很多,不便管理,而且容易重名,于是人们设立若干子目录,把文件分别放到不同的子目录中,不同子目录中的文件可以同名。调用文件时应指出文件路径。

跨空间成员访问方式实例代码

  1. <?php
  2. // 跨空间成员访问方式实例
  3. namespace one;
  4. class Username1
  5. {
  6. public static $name = '早晨';
  7. }
  8. echo Username1::class . '<br>';
  9. echo \two\Username1::$name . '<hr>';
  10. namespace two;
  11. class Username1
  12. {
  13. public static string $name = '我叫早晨';
  14. }
  15. echo Username1::class . '<br>';
  16. echo \one\Username1::$name . '<hr>';

运行效果

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学