PHP重载方法_PHP教程

编辑Tag赚U币
教程Tag:PHP重载添加

推荐:PHP daddslashes 方法
@set_magic_quotes_runtime(0); $MQG = get_magic_quotes_gpc(); if(!$MQG $_POST) $_POST = daddslashes($_POST); if(!$MQG $_GET) $_GET = daddslashes($_GET); //转译字符函数 function daddslashes($string) { if(!is_array($string)) return addslashes($string);

1.重载 Overload

子类改变父类的方法,为重载。

重载是一种覆盖性行为,会将以前的方法覆盖掉。

2.重载案例:

  1. <?php 
  2.  class EMBA_student  // 声明EMBA学生类 
  3.       { 
  4.           //用var来定义类的属性 
  5.           var $no//序号 
  6.           var $name// 姓名 
  7.           var $gender//性别 
  8.           var $age//年龄 
  9.            
  10.           //方法 
  11.           //方法1 ,设定学生的信息方法 
  12.           function set_data ($arr
  13.           { 
  14.               $this->no=$arr["no"]; 
  15.               $this->name=$arr["name"]; 
  16.               $this->gender=$arr["gender"]; 
  17.               $this->age=$arr["age"]; 
  18.               } 
  19.           // 方法2, 让学生年龄长大$i岁 
  20.           function set_grow($i
  21.           { 
  22.               $this->age+=$i
  23.                           } 
  24.           //方法3 ,输出学生信息的方法 
  25.           function get_data() 
  26.           { 
  27.               echo "<br /> 
  28.   <b>长江商学院EMBA班学生信息</b><br /> 
  29.   "; 
  30.    
  31.   echo"学号:$this->no<br />"
  32.   echo"姓名:$this->name<br />"
  33.   echo"性别:$this->gender<br />"
  34.   echo"年龄:$this->age<br />"
  35.                
  36.               } 
  37.           } 
  38.   // 继承EMBA学生类,来创建一个EMBA方向类 
  39.       class college_student extends EMBA_student{ 
  40.           var $department//定义一个新的属性所在系 
  41.           function change_department($new_department//定义一个新的方法,更换所在系 
  42.           { 
  43.               $this->department=$new_department//让学员所在系变成参数系 
  44.               } 
  45.  //重载父类的方法,设定学员的信息 
  46.  function set_data($arr){ 
  47.                   $this->no=$arr["no"]; 
  48.               $this->name=$arr["name"]; 
  49.               $this->gender=$arr["gender"]; 
  50.               $this->age=$arr["age"]; 
  51.               $this->department=$arr["department"]; 
  52.      }          
  53.           } 
  54.  //实例化一个对象 
  55.  $s=new college_student; 
  56.  $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商业营销"); 
  57.  $s->set_data($arr); 
  58.  // $s->department="商业营销"; 因为采用了函数的重载,所以不需要在这个地方为对象赋值了 
  59.  echo"该学员所在专业为:$s->department<br />"
  60.  $s->change_department("哲学工商管理"); 
  61.  echo"该学员所在专业为:$s->department<br />"
  62.  $s->get_data(); 
  63.   ?> 
结果:
该学员所在专业为:商业营销
该学员所在专业为:哲学工商管理
 
长江商学院EMBA班学生信息
学号:1
姓名:Qian Zhang
性别:Female
年龄:33
 
3.函数中,对数组键值的定义方式值得学习:
  1. class EMBA_student  // 声明EMBA学生类 
  2.       { 
  3.           //用var来定义类的属性 
  4.           var $no//序号 
  5.           var $name// 姓名 
  6.           var $gender//性别 
  7.           var $age//年龄 
  8.            
  9.           //方法 
  10.           //方法1 ,设定学生的信息方法 
  11.           function set_data ($arr
  12.           { 
  13.               $this->no=$arr["no"]; 
  14.               $this->name=$arr["name"]; 
  15.               $this->gender=$arr["gender"]; 
  16.               $this->age=$arr["age"]; 
  17.               } 
  18.  } 
先定义属性,然后直接以[]来定义键名。

分享:PHP获取汉字的拼音(全部与首字母)
?phpclass GetPingYing { private $pylist = array('a'=-20319,'ai'=-20317,'an'=-20304,'ang'=-20295,'ao'=-20292,'ba'=-20283,'bai'=-20265,'ban'=-20257,'bang'=-20242,'bao'=-20230,'bei'=-20051,'ben'=-20036,'beng'=-20032,'bi'=-20026,'bian'=-20002,'biao'=-19

来源:未知//所属分类:PHP教程/更新时间:2012-11-12
相关PHP教程