您的位置:首页 > 编程语言 > PHP开发

PHP5 OOP新手快速入门例子

2013-07-01 17:17 483 查看
PHP5的OOP是个好东西,最近找了些小资料给新手培训和给朋友看,还是老外的东西好,例子短小,有OOP基础的话,一看就
明白了

  1)基本的类和实例
   
<?php
classAnimal
{
var$name;
functionset_name($text)
{
$this->name=$text;
}
functionget_name()
{
return$this->name;
}
}
$lion=newAnimal;
$lion->set_name("Leo");
echo"Thenameofyournewlionis",$lion->name,".";
?>

2)加上些访问控制符,如private

[code]<?php
classAnimal
{
private$name;
functionset_name($text)
{$this->name=$text;}
functionget_name()
{return$this->name;}
}
$lion=newAnimal;
$lion->set_name("Leo");
echo"Thenameofyournewlionis",$lion->name,".";
?>

 

由于用了privae,所以这里是出错了,要用get_name去访问

3)构造函数

<?php
classAnimal
{
var$name;
function__construct($text)
{
$this->name=$text;
}
functionset_name($text)
{
$this->name=$text;
}
functionget_name()
{
return$this->name;
}
}
$lion=newAnimal("Leo");
echo"Thenameofyournewlionis",$lion->get_name(),".";
?>
用__construct()做构造函数(注意,是两个紧跟着的_)

 

4使用继承

<?php
classAnimal
{
var$name;
functionset_name($text)
{
$this->name=$text;
}
functionget_name()
{
return$this->name;
}
}
classLionextendsAnimal
{
var$name;
functionroar()
{
echo$this->name,"isroaring!<BR>";
}
}
echo"Creatingyournewlion...<BR>";
$lion=newLion;
$lion->set_name("Leo");
$lion->roar();
?>

 

5Overriding

<?php
classanimal
{
var$name;
functionset_name($text)
{
$this->name=$text;
}
functionget_name()
{
return$this->name;
}
}
classLionextendsAnimal
{
var$name;
functionroar()
{
echo$this->name,"isroaring!<BR>";
}
functionset_name($text)
{
$this->name=strtoupper($text);
}
}
echo"Creatingyournewlion...<BR>";
$lion=newLion;
$lion->set_name("Leo");
$lion->roar();
?>

输出:LEOisroaring

这时子类覆盖了父类的set_name方法了

 

6访问父类中的被覆盖的方法

<?php
classAnimal
{
var$name;
functionset_name($text)
{
$this->name=$text;
}
functionget_name()
{
return$this->name;
}
}
classLionextendsAnimal
{
var$name;
functionroar()
{
echo$this->name,"isroaring!<BR>";
}
functionset_name($text)
{
Animal::set_name($text);
}
}
echo"Creatingyournewlion...<BR>";
$lion=newLion;
$lion->set_name("Leo");
$lion->roar();
?>



[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: