加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP重载方法分享

发布时间:2022-07-08 13:48:29 所属栏目:PHP教程 来源:互联网
导读:PHP重载方法 1.重载 Overload 子类改变父类的方法,为重载。 重载是一种覆盖性行为,会将以前的方法覆盖掉。 2.重载案例: ?php class EMBA_student // 声明EMBA学生类 { //用var来定义类的属性 var $no; //序号 var $name; // 姓名 var $gender; //性别 var
  PHP重载方法
 
  1.重载 Overload
 
  子类改变父类的方法,为重载。
 
  重载是一种覆盖性行为,会将以前的方法覆盖掉。
 
  2.重载案例:
 
  <?php
 
   class EMBA_student  // 声明EMBA学生类
 
        {
 
            //用var来定义类的属性
 
            var $no; //序号
 
            var $name; // 姓名
 
            var $gender; //性别
 
            var $age; //年龄

            //方法
 
            //方法1 ,设定学生的信息方法
 
            function set_data ($arr)
 
            {
 
                $this->no=$arr["no"];
 
                $this->name=$arr["name"];
 
                $this->gender=$arr["gender"];
 
                $this->age=$arr["age"];
 
                }
 
            // 方法2, 让学生年龄长大$i岁
 
            function set_grow($i)
 
            {
 
                $this->age+=$i;
 
                            }
 
            //方法3 ,输出学生信息的方法
 
            function get_data()
 
            {
 
                echo "<br />
 
    <b>长江商学院EMBA班学生信息</b><br />
 
    ";
 
    echo"学号:$this->no<br />";
 
    echo"姓名:$this->name<br />";
 
    echo"性别:$this->gender<br />";
 
    echo"年龄:$this->age<br />";            
 
                }
 
            }
 
    // 继承EMBA学生类,来创建一个EMBA方向类
 
        class college_student extends EMBA_student{
 
            var $department; //定义一个新的属性所在系
 
            function change_department($new_department) //定义一个新的方法,更换所在系
 
            {
 
                $this->department=$new_department; //让学员所在系变成参数系
 
                }
 
   //重载父类的方法,设定学员的信息
 
   function set_data($arr){
 
                    $this->no=$arr["no"];
 
                $this->name=$arr["name"];
 
                $this->gender=$arr["gender"];
 
                $this->age=$arr["age"];
 
                $this->department=$arr["department"];
 
       }          
 
            }
 
   //实例化一个对象
 
   $s=new college_student;
 
   $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商业营销");
 
   $s->set_data($arr);
 
   // $s->department="商业营销"; 因为采用了函数的重载,所以不需要在这个地方为对象赋值了
 
   echo"该学员所在专业为:$s->department<br />";
 
   $s->change_department("哲学工商管理");
 
   echo"该学员所在专业为:$s->department<br />";
 
   $s->get_data();
 
    ?>
 
  结果:
 
  该学员所在专业为:商业营销
 
  该学员所在专业为:哲学工商管理
 
  长江商学院EMBA班学生信息
 
  学号:1
 
  姓名:Qian Zhang
 
  性别:Female
 
  年龄:33
  
  3.函数中,对数组键值的定义方式值得学习:
 
  class EMBA_student  // 声明EMBA学生类
 
        {
 
            //用var来定义类的属性
 
            var $no; //序号
 
            var $name; // 姓名
 
            var $gender; //性别
 
            var $age; //年龄             
 
            //方法
 
            //方法1 ,设定学生的信息方法
 
            function set_data ($arr)
 
            {
 
                $this->no=$arr["no"];
 
                $this->name=$arr["name"];
 
                $this->gender=$arr["gender"];
 
                $this->age=$arr["age"];
 
                }
 
   }
 
  先定义属性,然后直接以[]来定义键名。
 

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读