jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
   PHP5 的OOP是个好东西,最近找了些小资料给新手培训和给朋友看,还是老外的东西好,例子短小,有OOP基础的话,一看就
明白了

  1)基本的类和实例
   
<?php
class Animal
{
var $name;
function set_name($text)
{
$this->name = $text;
}
function get_name()
{
return $this->name;
}
}
$lion = new Animal;
$lion->set_name("Leo");
echo "The name of your new lion is ", $lion->name, ".";
?>
2) 加上些访问控制符,如private
<?php
class Animal
{
private $name;
function set_name($text)
{$this->name = $text;}
function get_name()
{return $this->name;}
}
$lion = new Animal;
$lion->set_name("Leo");
echo "The name of your new lion is ", $lion->name, ".";
?>
 
    由于用了privae,所以这里是出错了,要用get_name去访问
3)构造函数
   <?php
class Animal
{
var $name;
function __construct($text)
{
$this->name = $text;
}
function set_name($text)
{
$this->name = $text;
}
function get_name()
{
return $this->name;
}
}
$lion = new Animal("Leo");
echo "The name of your new lion is ", $lion->get_name(), ".";
?>
用 _ _construct()做构造函数( 注意,是两个紧跟着的_)
 
4  使用继承
   <?php
class Animal
{
var $name;
function set_name($text)
{
$this->name = $text;
}
function get_name()
{
return $this->name;
}
}
class Lion extends Animal
{
var $name;
function roar()
{
echo $this->name, " is roaring!<BR>";
}
}
echo "Creating your new lion...<BR>";
$lion = new Lion;
$lion->set_name("Leo");
$lion->roar();
?>
 
5   Overriding 
       <?php
class animal
{
var $name;
function set_name($text)
{
$this->name = $text;
}
function get_name()
{
return $this->name;
}
}
class Lion extends Animal
{
var $name;
function roar()
{
echo $this->name, " is roaring!<BR>";
}
function set_name($text)
{
$this->name = strtoupper($text);
}
}
echo "Creating your new lion...<BR>";
$lion = new Lion;
$lion->set_name("Leo");
$lion->roar();
?>
输出:LEO is roaring
这时子类覆盖了父类的set_name方法了
 
6  访问父类中的被覆盖的方法
    <?php
class Animal
{
var $name;
function set_name($text)
{
$this->name = $text;
}
function get_name()
{
return $this->name;
}
}
class Lion extends Animal
{
var $name;
function roar()
{
echo $this->name, " is roaring!<BR>";
}
function set_name($text)
{
Animal::set_name($text);
}
}
echo "Creating your new lion...<BR>";
$lion = new Lion;
$lion->set_name("Leo");
$lion->roar();
?>
 

posted on 2007-04-12 23:13  jackyrong的世界  阅读(692)  评论(0编辑  收藏  举报