Maison >php教程 >php手册 >php (十一) 面向对象 通过类实例化对象

php (十一) 面向对象 通过类实例化对象

WBOY
WBOYoriginal
2016-06-21 08:48:411150parcourir

1. 实例化对象

 

 

 

当定义好类后,我们使用new关键字来生成一个对象。

 $对象名称 = new  类名称();

示例: 

 

  

[php] 

class Person  

{  

//下面是人的成员属性  

var $name;     //人的名子  

   

var $sex;      //人的性别  

var $age;      //人的年龄  

//下面是人的成员方法  

function say() //这个人可以说话的方法  

{  

echo "这个人在说话";  

}  

function run() //这个人可以走路的方法  

{  

echo "这个人在走路";  

}  

}  

$p1=new Person();  

$p2=new Person();  

   

  

?>

 

  

 

 

2. 访问对象中的成员

  $p1=new Person();  怎么去使用对象的成员呢?要想访问对象中的成员就要使用一个特殊的操作符“->”来完成对象成员的访问,类似于 java里面的 " . " 

  示例:

  

[php] 

class Person  

{  

//下面是人的成员属性  

var $name;      //人的名子  

var $sex;       //人的性别  

var $age;       //人的年龄  

//下面是人的成员方法  

function say() //这个人可以说话的方法  

{  

echo "这个人在说话";  

}  

function run() //这个人可以走路的方法  

{  

echo "这个人在走路";  

}  

}  

$p1=new Person(); //创建实例对象$p1  

$p2=new Person(); //创建实例对象$p2  

$p3=new Person(); //创建实例对象$p3  

//下面三行是给$p1对象属性赋值  

$p1->name=”张三”;  

$p1->sex=”男”;  

$p1->age=20;  

//下面三行是访问$p1对象的属性  

echo “p1对象的名子是:”.$p1->name.”
”;  

echo “p1对象的性别是:”.$p1->sex.”
”;  

echo “p1对象的年龄是:”.$p1->age.”
”;  

//下面两行访问$p1对象中的方法  

$p1->say();  

   

$p1->run();  

//下面三行是给$p2对象属性赋值  

$p2->name=”李四”;  

$p2->sex=”女”;  

$p2->age=30;  

//下面三行是访问$p2对象的属性  

echo “p2对象的名子是:”.$p2->name.”
”;  

echo “p2对象的性别是:”.$p2->sex.”
”;  

echo “p2对象的年龄是:”.$p2->age.”
”;  

//下面两行访问$p2对象中的方法  

$p2->say();  

$p2->run();  

//下面三行是给$p3对象属性赋值  

$p3->name=”王五”;  

$p3->sex=”男”;  

$p3->age=40;  

   

//下面三行是访问$p3对象的属性  

echo “p3对象的名子是:”.$p3->name.”
”;  

echo “p3对象的性别是:”.$p3->sex.”
”;  

echo “p3对象的年龄是:”.$p3->age.”
”;  

//下面两行访问$p3对象中的方法  

$p3->say();  

$p3->run();  

?>  

 

3. 特殊的引用“$this”的使用

 

PHP里面给我提供了一个本对象的引用$this,每个对象里面都有一个对象的引用$this来代表这个对象,完成对象内部成员的调用, this的本意就是“这个”的意思,上面的实例里面,我们实例化三个实例对象$P1、 $P2、 $P3,这三个对象里面各自存在一个$this分别代表对象$p1、$p2、$p3 。

  

$this就是对象内部代表这个对象的引用,在对象内部和调用本对象的成员和对象外部调用对象的成员所使用的方式是一样的。

$this->属性    $this->name;          $this->age;  $this->sex;

              $this->方法  $this->say();            $this->run();

 

 示例:

[php]  

class Person  

{  

//下面是人的成员属性  

var $name;      //人的名子  

var $sex;       //人的性别  

var $age;       //人的年龄  

//下面是人的成员方法  

function say() //这个人可以说话的方法  

{  

   

echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."
";  

}  

function run() //这个人可以走路的方法  

{  

echo "这个人在走路";  

}  

}  

$p1=new Person(); //创建实例对象$p1  

$p2=new Person(); //创建实例对象$p2  

$p3=new Person(); //创建实例对象$p3  

//下面三行是给$p1对象属性赋值  

$p1->name="张三";  

$p1->sex="男";  

$p1->age=20;  

//下面访问$p1对象中的说话方法  

$p1->say();  

//下面三行是给$p2对象属性赋值  

$p2->name="李四";  

$p2->sex="女";  

$p2->age=30;  

//下面访问$p2对象中的说话方法  

$p2->say();  

//下面三行是给$p3对象属性赋值  

$p3->name="王五";  

$p3->sex="男";  

$p3->age=40;  

//下面访问$p3对象中的说话方法  

$p3->say();  

?>  

 

输出结果为:

我的名子叫:张三性别:男我的年龄是:20

我的名子叫:李四性别:女我的年龄是:30

我的名子叫:王五性别:男我的年龄是:40

 



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP数组函数arrayArticle suivant:ThinkPHP中的pathinfo模式和URL重写