好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 类的初始化 - php面向对象

php 类的初始化

class  child   {        private   $parent ;           function  __construct( $parent )       {            $this ->parent =  $parent ;       }           function  getnationality()       {            return   $this ->parent->nationality;       }   }  $parent  =  new  parent( 'hispanic' );   $child  =  new  child( $parent ); 

php中是通过类来完成信息封装的,在php中定义类的语法是:

<?php  class  class_name  // 在面向对象编程类中,习惯上类的第一个字符为大写,并且必须符合变量的命名规则.   {  //函数与变量的集合   }   ?> 

在定义类时你可以按自已的喜好的格式进行定义,但最好能保持一种标准,这样开发起来会更有效些.

数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的,一个数据成员可以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象.

下面是一个类定义的实际例子,代码如下:

class  student   {   var   $str_name ;  //姓名    var   $str_sex ;  //性别    var   $int_id ;  //学号    var   $int_english ;  //英语成绩    var   $int_maths ;  //数学成绩    } 

这是一个很普通定义类的简单例子,用于显示学生的学习成绩,类名为student,student类包涵了一个学生的基本属性:姓名、性别、学号、英语成绩和数学成绩.

function我们称之为在类中被定义的函数,在函数中访问类成员变量时,你应该使用$this->var_name,其中var_name 指的是类中被声明的变量,否则对一个函数来说,它只能是局部变量,我们先定义一个input()的函数,用来给实例中的对象赋以初值,代码如下:

function  input (  $name ,  $sex ,  $id ,  $englis ,  $maths )   {   $this ->str_name= $name ;   $this ->str_sex = $sex ;   $this ->int_id = $id ;   $this ->int_englis= $english ;   $this ->int_maths= $maths ;   } //开源代码phpfensi测试数据  

现在我们再定义一个叫[showinfo()]的函数,用于打印学生的基本情况,代码如下:

function  showinfo()  //定义showinfo()函数    {   echo  ([姓名: $this ->str_name  ]);   echo  ([性别: $this ->str_sex  ]);   echo  ([学号: $this ->int_id  ]);   echo  ([英语成绩: $this ->int_english  ]);   echo  ([数学成绩: $this ->int_maths  ]);   } 

而定义好的类则必须使用new关键词来生成对象:$a_student=new student; 

例如我们要为一个名为$wing的对象创建实例,并进行赋值,可以使用下面的代码:

$wing =new student; //用new关键词来生成对象 

$wing ->input ([wing],]男],33,95,87);

分别输入wing的姓名、性别、学号、英语成绩、数学成绩,其中姓名和性别是字符型变量,所以需要用双引号,其它为数值型变量则不需要.

通过下面这段完整的源代码,我们就可以很清楚的看到类在php是怎么被运用的,代码如下:

class  student   {   var   $str_name ;   var   $str_sex ;   var   $int_id ;   var   $int_english ;   var   $int_maths ;  function  input (  $name ,  $sex ,  $id ,  $english ,  $maths )   {   $this ->str_name= $name ;   $this ->str_sex = $sex ;   $this ->int_id = $id ;   $this ->int_english= $english ;   $this ->int_maths= $maths ;   }   function  showinfo()   {   echo  ([姓名: $this ->str_name  ]);   echo  ([性别: $this ->str_sex  ]);   echo  ([学号: $this ->int_id  ]);   echo  ([英语成绩: $this ->int_english  ]);   echo  ([数学成绩: $this ->int_maths  ]);   }   }    $wing  =  new  student;   $wing ->input ([wing],]男],33,95,87);   $paladin  =  new  student;   $paladin ->input ([paladin],]女],38,58,59.5);  $wing ->showinfo();   $paladin ->showinfo(); 

执行结果应是这样的:

姓名:wing 

性别:男 

学号:33 

英语成绩:95 

数学成绩:87 

姓名:paladin 

性别:女 

学号:38 

英语成绩:58 

查看更多关于php 类的初始化 - php面向对象的详细内容...

  阅读:41次