复习重载

昨天复习了类的继承,今天复习一下重载。

PHP如果不每天练习,忘记的速度很快。

 1 <?php
 2   class student
 3   {
 4       var $no;
 5       var $name;
 6       var $gender;
 7       var $age;
 8       
 9       function set_data($arr)
10       {
11           $this->no=$arr["no"];
12           $this->name=$arr["name"];
13           $this->gender=$arr["gender"];
14           $this->age=$arr["age"];
15           }
16           
17           function grow($i){
18               $this->age+=$i;
19               }
20       function get_data(){
21           echo"<br />
22   <b>学生信息</b><br />
23   ";
24   echo "学号:$this->no<br />
25   ";echo "姓名:$this->name<br />
26   ";echo "性别:$this->gender<br />
27   ";echo "年龄:$this->age<br />
28   ";
29           }
30       }
31   
32  class college_student extends student{
33      var $department;
34  
35      function change_department($new_department){
36          $this->department=$new_department;
37          }
38          
39      function set_data($arr)
40       {
41           $this->no=$arr["no"];
42           $this->name=$arr["name"];
43           $this->gender=$arr["gender"];
44           $this->age=$arr["age"];
45           $this->department=$arr["department"];}     
46     
47      } 
48  $s=new college_student;
49       $temparr=array("no"=>"001","name"=>"lisa","gender"=>"male","age"=>"22","department"=>"计算机系");
50  
51   $s->set_data($temparr);
52 
53 
54   echo "$s->name"."的所在系是$s->department<br />";
55  $s->change_department("数学系");
56    echo "$s->name"."的所在系是$s->department<br />";
57      
58      
59     ?>

运行结果:

lisa的所在系是计算机系
lisa的所在系是数学系

这段代码很简单,重点是要理解“重载”,在PHP里,所谓重载,就是在子类中,修改了从父类继承过来的方法。

而之前的构造函数,是指在类中,创建的函数名与类名相同函数。

posted on 2012-12-03 23:31  php1994  阅读(134)  评论(0编辑  收藏  举报

导航