PHP的构造函数,析构函数,(静态)变量,方法

柔情只为你懂 2022-07-19 00:22 293阅读 0赞

1.php的类的结构以及调用与java的方法很是不同;

2.php使用->调用方法和变量的,用::调用静态方法和变量;

3.php不仅有一个构造函数,还有有一个析构函数。子类的这两种函数可被parent::来进行调用保留。

一、父类 myClass.php

  1. <?php
  2. header("Content-type:text/html;charset=utf-8");
  3. class myClass
  4. {
  5. public $n = "这是public对象";
  6. private $n2 = "这是private对象";
  7. protected $n3 = "这是protected对象";
  8. private $myCt01;
  9. private $myCt02;
  10. private $myCt03;
  11. static public $m = "我是静态变量";
  12. //构造函数一个参数
  13. // public function __construct($myCt01)
  14. // {
  15. // $this->myCt01 = $myCt01;
  16. // }
  17. //构造函数,是程序开始时就执行。
  18. public function __construct($myCt01, $myCt02, $myCt03)
  19. {
  20. $this->myCt01 = $myCt01;
  21. $this->myCt02 = $myCt02;
  22. $this->myCt03 = $myCt03;
  23. }
  24. //析构函数,程序结束时执行
  25. public function __destruct()
  26. {
  27. // TODO: Implement __destruct() method.
  28. echo "我是析构函数";
  29. }
  30. //打印值
  31. public function printMyCt01()
  32. {
  33. echo $this->myCt01;
  34. echo $this->myCt02;
  35. echo $this->myCt03;
  36. }
  37. //无参数,无返回值
  38. public function getMyClass()
  39. {
  40. echo "这是我的类getMyClass()方法" . "<br>";
  41. echo $this->n2;
  42. echo $this->n3;
  43. }
  44. //具有返回值,无参数
  45. public function getMyNum()
  46. {
  47. return "我是返回值";
  48. }
  49. //有参数有返回值
  50. public function getMyName($n)
  51. {
  52. $n = $n . "大海" . "<br>";
  53. return $n;
  54. }
  55. //有参数,参数具有初始化,如果被传入则用传入的,没传入则不用;无返回值
  56. public function getAction($a, $b, $c = "我是初始化")
  57. {
  58. echo $a . "<br>";
  59. echo $b . "<br>";
  60. echo $c . "<br>";
  61. }
  62. //静态方法
  63. static public function getSc()
  64. {
  65. echo "我是静态方法" . "<br>";
  66. }
  67. }
  68. 构造参数,必须传参
  69. //$myCs = new myClass("汪洋大盗", "汪洋大盗", "汪洋大盗");
  70. //$myCs->printMyCt01();
  71. //$myCs->getMyClass();
  72. //echo $myCs->n;
  73. 具有返回值,无参数
  74. //echo "<br>" . $myCs->getMyNum();
  75. //注意下边的输出方式
  76. //$r = $myCs->getMyNum();
  77. //echo $r;
  78. 有参数有返回值
  79. //echo $myCs->getMyName("汪洋");
  80. 有参数,参数具有初始化
  81. //$myCs->getAction("123", "456");
  82. //$myCs->getAction("123", "456", "789");
  83. //静态的情况下
  84. 静态方法
  85. //myClass::getSc();
  86. //$myCs->getSc();
  87. 静态变量
  88. //echo myClass::$m;
  89. ?>

三、子类文件myChild.php

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: 洋 汪
  5. * Date: 2016/7/16
  6. * Time: 17:59
  7. */
  8. header("Content-type:text/html;charset=utf-8");
  9. include "myClass.php";
  10. class myChild extends myClass
  11. {
  12. public function __construct()
  13. {
  14. // parent::__construct("", $myCt02, $myCt03);
  15. //可以保留父类的构造函数,也可以不保留。
  16. echo "我是儿子的构造函数" . "<br>";
  17. }
  18. public function __destruct()
  19. {
  20. echo "我是儿子的析构函数" . "<br>";
  21. // parent::__destruct();
  22. }
  23. }
  24. //只能得到父类的public的方法,变量;静态方法,静态变量。
  25. $mc = new myChild();
  26. echo $mc::getSc();
  27. echo $mc::$m;
  28. ?>

发表评论

表情:
评论列表 (有 0 条评论,293人围观)

还没有评论,来说两句吧...

相关阅读

    相关 构造函数函数

    构造函数和析构函数是面向对象编程中的重要概念,它们在对象的创建和销毁过程中起着关键作用。构造函数用于初始化对象的状态,而析构函数则负责在对象被销毁时执行清理操作。在本文中,我们

    相关 构造函数函数

    构造函数      先看看构造函数的调用顺序规则,只要我们在平时编程的时候遵守这种约定,任何关于构造函数的调用问题都能解决;构造函数的调用顺序总是如下: 1.基类构

    相关 构造函数函数

    构造函数      先看看构造函数的调用顺序规则,只要我们在平时编程的时候遵守这种约定,任何关于构造函数的调用问题都能解决;构造函数的调用顺序总是如下: 1.基类构

    相关 拷贝构造函数函数

    一、拷贝构造函数 (一)、何为拷贝? 拷贝一词来源于英文中的copy,译为:抄写,复制,复制品。将原有物件,按照同样式的在来一份。 \\举个栗子: 饭点到了,和