10月24日下午PHP封装
Posted 飘逸De精灵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10月24日下午PHP封装相关的知识,希望对你有一定的参考价值。
1 <?php 2 3 class Ren 4 { 5 private $name; 6 private $sex; 7 private $age; //年龄必须在18-50之间 8 9 function __construct($v) 10 { 11 $this->sex = $v; 12 } 13 //魔术方法set 14 function __set($n,$v) 15 { 16 if($n=="age") 17 { 18 if($v>=18 && $v<=50) 19 { 20 $this->$n = $v; 21 } 22 } 23 else 24 { 25 $this->$n = $v; 26 } 27 } 28 29 //魔术方法get 30 function __get($n) 31 { 32 return $this->$n; 33 } 34 35 /*//设置age的值 36 function setage($a) 37 { 38 if($a>=18 && $a<=50) 39 { 40 $this->age = $a; 41 } 42 } 43 //获取age的值 44 function getage() 45 { 46 return $this->age; 47 }*/ 48 49 function say() 50 { 51 echo "hello"; 52 } 53 54 //析构方法 55 function __destruct() 56 { 57 echo "这是一个析构方法"; 58 } 59 60 function __tostring() 61 { 62 return "这个类是人类"; 63 } 64 65 66 } 67 68 $r = new Ren("男"); 69 70 //$r->setage(20); 71 //echo $r->getage(); 72 73 $r->say(); 74 //$r->age = 30; 75 76 //echo $r->age; 77 78 //$r->__get("age"); 79 80 //$r->__set("age",20); 81 82 var_dump($r); 83 84 //构造方法:写法特殊,执行时间特殊 85 86 //OOP三大特性:封装,继承,多态 87 88 //封装的目的:为了让类更安全 89 //封装的做法: 90 //1.类里面的成员变量做为private 91 //2.使用成员方法来间接访问成员变量 92 //3.在该方法里面加限制条件 93 94 //php类里面不允许出现同名方法 95 96 //函数重载 97 //在类里面写多个同名方法来实现不同功能 98 /*public string Show() 99 { 100 return "显示"; 101 } 102 public string Show(string a) 103 { 104 return a+"显示"; 105 } 106 public string Show(string a,string b) 107 { 108 return a+b+"显示"; 109 } 110 public string Show(int b) 111 { 112 return b+"数字"; 113 }*/ 114 115 //1.函数名必须相同 116 //2.参数个数不同或参数类型不同 117 118 //例子:求两个圆之间的阴影面积 119 /*$maxr = 20; 120 $minr = 10; 121 $mj = 3.14*$maxr*$maxr - 3.14*$minr*$minr; 122 123 124 class Yuan 125 { 126 //代表半径 127 public $r; 128 129 function __construct($n) 130 { 131 $this->r = $n; 132 } 133 134 //求面积的方法 135 function MJ() 136 { 137 return 3.14*$this->r*$this->r; 138 } 139 } 140 141 $r1 = new Yuan(20); 142 $r2 = new Yuan(10); 143 144 $mianji = $r1->MJ()-$r2->MJ();*/ 145 146 //例子:计算器 147 148 $a = 10; 149 $b = 5; 150 151 $jia = $a+$b; 152 $jian = $a-$b; 153 $cheng = $a*$b; 154 $chu = $a/$b; 155 156 157 class jisuan 158 { 159 public $a; 160 public $b; 161 162 function __construct($n,$m) 163 { 164 $this->a = $n; 165 $this->b = $m; 166 } 167 168 function jia() 169 { 170 return $this->a+$this->b; 171 } 172 function jian() 173 { 174 return $this->a-$this->b; 175 } 176 function cheng() 177 { 178 return $this->a*$this->b; 179 } 180 function chu() 181 { 182 return $this->a/$this->b; 183 } 184 function quyu() 185 { 186 return $this->a%$this->b; 187 } 188 } 189 190 $j = new jisuan(10,5); 191 $j->quyu(); 192 193 194 195 ?>
以上是关于10月24日下午PHP封装的主要内容,如果未能解决你的问题,请参考以下文章