易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP类实例教程(十):类的重写(override)

如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
当对父类的方法进行重写时,子类中的方法必须和父类中对应的方法具有相同的方法名称,在PHP5中不限制输入参数类型、参数数量和返回值类型。(这点和JAVA不同)
子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。
声明方法时,如果不定义访问权限。默认权限为public。
先设置一个父类,这个父类是 “Dog”类,这个类描述了dog的特性。Dog有2个眼睛,会跑,会叫。就这样描述先。我养了一直狗,是只小狗,符合Dog类的特性,但有所不同。我的小狗有名字,我的小狗太小了,不会大声的叫,只会哼哼。 我们用继承的概念去实现这个设计。
<?php
//狗有两只眼睛,会汪汪叫,会跑
class Dog
{
protected $eyeNumber = 2; //
//返回封装的属性方法
public function getEyeNumber() {
return $this->eyeNumber;
}
//狗会叫
public function yaff() {
return "Dog yaff, wang ..wang ..";
}
//狗会跑
public function run() {
return "Dog run..running ...";
}
}
$dog = new Dog();
echo "dog have " . $dog->getEyeNumber() . " eyes. <br />";
echo $dog->yaff() . "<br />" . $dog->run();
echo "<br /><br /><br /><br />";
//这是我的小狗,叫"狗狗",他还小不会汪汪叫,智慧哼哼。。
class MyDog extends Dog
{
private $name = "";
public function getName() {
return $this->name;
}
public function yaff() {
return $this->name . " yaff, heng...heng ..";
}
}
$myDog = new MyDog();
echo $myDog->getName() . " have " . $myDog->getEyeNumber() . " eyes. <br />";
echo $myDog->yaff() . "<br />" . $myDog->run();
?>
重写方法与访问权限
子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。


相关文档:

iis+php5+mysql配置

运行环境:windows xp sp2
          IIS v5.1
          PHP 5.3.1-Win32-VC9-x86
          Mysql 5.0
安装步骤:
       安装IIS5.1
在 ......

PHP计算指定日期所在周的开始和结束日期

<html>
<head>
<title>计算本周开始结束日期</title>
</head>
<body>
<form method="post" action="./index.html" enctype="utf-8">
<table>
<tr><td>输入年份</td><td><input name="year" type="text" maxlength="4" /></td> ......

【PHP】选择题题库系统V1.0

这个系统其实是练习php基本语法和MySQL的基本查询语句。给一起学习的朋友分享。 ^_^
在php文件中,双斜杠后面是注释语句,我用英文写的注释。
整个系统所包含的.htm和.php文件有:
add_que.htm——添加新题的页面
insert.php——显示添加新题信息的页面
questionlist.php——所有问题列 ......

php效率高写法


0、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成static,就尽 ......

PHP中的实现Registry模式过程中的领悟

<?php
/*
Singleton && Registry Design Pattern Implementation
*/
class Registry {
private $_store = array();
public function getInstance() {
static $instance = array();
if (!$instance) {
$instance[0] = new ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号