Pages 1 / Total 1 1
已被查看520次    只看楼主
[原创]PHP对象的继承
主题
松风水月  




等级:终级天王
积分:3175
经验:1008
魅力:2167
威望:0
财富:2432
金钱:0.00元
帖子:147
注册:2007-04-11 16:29
楼主 资料 短消息
[原创]PHP对象的继承 2007-08-08 16:19

继承是OOP程序设计语言的基本特征,所有的面向对象的语言都支持该特性。继承的产生是类和类之间有了相应的层次结构,使类的管理更加的清晰。并且提高了代码的可重用性,如一些功能可以通过继承来获得。在PHP中,可以实现一个类继承另外一个类,但是PHP中不支持多重继承,即继承多个类。在本节中,将对类的继承进行详细的介绍。

在PHP中,类和类之间属于单根继承,当一个类继承另外一个类,该类被称为子类(child class),被继承的类称为父类(parent class),此外,子类可以被称为超类,父类可以被称为基类。当然了,一个类可以被多个子类来继承,一个类只能拥有一个父类。类继承的语法格式如下所示:
class subclass extends superclass{
  方法体
}
在上述代码中,subclass表示子类,extends表示类的继承符,superclass表示父类。子类不但可以拥有父类的成员,如方法和字段,还可以拥有自己本身新增的方法。在继承过程中,子类不能拥有父类的私有成员。
现在创建一个案例,演示类的继承。该案例的代码如下所示:
案例6-3
<?php
class MyClass {
   private $Hello = "Hello, World!\n";
   public $Bar = "Hello, Foo!\n";
   public $Foo = "Hello, Bar!\n";
   function printHello() {
       print "<br>MyClass::printHello() " . $this->Hello;
       print "<br>MyClass::printHello() " . $this->Bar;
       print "<br>MyClass::printHello() " . $this->Foo;
   }
}
class MyClass2 extends MyClass {
   public $f="大家好";
   function printWorld(){
        if($Bar="Hello, Foo!\n")
            {echo  "<br>子类的判断<br>";}
   }
}
$obj = new MyClass();
$obj->printHello();
$obj1 = new MyClass2();
$obj1->printHello();
$obj1->printWorld();
print $obj1->Foo; 
print $obj1->f; 
?>
将上述代码保存,文件名称为extends.php,并保存到指定的位置。打开IE浏览器,在地址栏中输入http://localhost:8080/class/extends.php,单击就可以直接运行了。



IP:123.*.*.*     顶部
论坛交流 ›› PHP ›› [原创]PHP对象的继承