>  기사  >  php教程  >  php (十一) 面向对象 通过类实例化对象

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

WBOY
WBOY원래의
2016-06-21 08:48:411130검색

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

 



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.