中易网

php编程错误

答案:2  悬赏:50  
解决时间 2021-04-28 02:26

这是一个错误的程序,但是我找不到错误的地方,哪位大神路过帮帮忙~~~~~~~

<?php
//抽象基类User
abstract class User
{
protected $name = NULL;
//构造函数
function User($name)
{
$this->name = $name; //将属性name设置成创建对象时传入的参数
}
//获取属性$name
function getName()
{
return $this->name; //返回name属性
}
//是否具有浏览权限
function ViewAccess()
{
return "NO";
}
//是否具有编辑权限
function EditAccess()
{
return "NO";
}//是否具有删除权限
function DeleteAccess()
{
return "NO";
}
//是否具有管理权限
function ManageAccess()
{
return "NO";
}
}
//普通用户
class Client extends User
{
//重写ViewAccess函数,对普通用户授予浏览权限
function ViewAccess()
{
return "YES";
}
}
//管理员
class Administrator extends User
{
//重写ViewAccess函数,对普通用户授予浏览权限
function ViewAccess()
{
return "YES";
}
//重写EditAccess函数,对普通用户授予修改权限
function EditAccess()
{
return "YES";
}
//重写DeleteAccess函数,对普通用户授予删除权限
function DeleteAccess()
{
return "YES";
}
}
//维护员
class Supporter extends User
{
//重写ViewAccess函数,对普通用户授予浏览权限
function ViewAccess()
{
return "YES";
}
//重写EditAccess函数,对普通用户授予修改权限
function EditAccess()
{
return "YES";
}
//重写DeleteAccess函数,对普通用户授予删除权限
function DeleteAccess()
{
return "YES";
}
//重写ManageAccess函数,对普通用户授予管理权限
function ManageAccess()
{
return "YES";
}
}
//工厂类
class Factory
{
//静态成员属性
private static $users = array("Simon"=>"Client","Eliaine"=>"administrator","Bob"=>"Supporter");
//创建对象的成员方法
static function Create($name)
{
//根据成员属性的不同创建不同的对象
switch (self::$users[$name])
{
case "Client";
return new Client($name);
case "Administrator";
return new Administrator($name);
case "Supporter";
return new Supporter($name);
}
}
}
//一个存放用户名的数组
$users = array("Elaine","Simon","Bob");
//对于每个用户分析其权限
foreach($users as $user)
{
$obj = Factory::Create($user);
echo $obj->getName()."的权限:\n";
echo "浏览: ".$obj->ViewAccess()."\n";
echo "修改:".$obj->EditAccess()."\n";
echo "删除:".$obj->DeleteAccess()."\n";
echo "管理:".$obj->ManageAccess()."\n";
}
?>

最佳答案
<?php
//抽象基类User
abstract class User
{
protected $name = NULL;
//构造函数
function User($name)
{
$this->name = $name; //将属性name设置成创建对象时传入的参数
}
//获取属性$name
function getName()
{
return $this->name; //返回name属性
}
//是否具有浏览权限
function ViewAccess()
{
return "NO";
}
//是否具有编辑权限
function EditAccess()
{
return "NO";
}
//是否具有删除权限
function DeleteAccess()
{
return "NO";
}
//是否具有管理权限
function ManageAccess()
{
return "NO";
}
}
//普通用户
class Client extends User
{
//重写ViewAccess函数,对普通用户授予浏览权限
function ViewAccess()
{
return "YES";
}
}
//管理员
class Administrator extends User
{
//重写ViewAccess函数,对普通用户授予浏览权限
function ViewAccess()
{
return "YES";
}
//重写EditAccess函数,对普通用户授予修改权限
function EditAccess()
{
return "YES";
}
//重写DeleteAccess函数,对普通用户授予删除权限
function DeleteAccess()
{
return "YES";
}
}
//维护员
class Supporter extends User
{
//重写ViewAccess函数,对普通用户授予浏览权限
function ViewAccess()
{
return "YES";
}
//重写EditAccess函数,对普通用户授予修改权限
function EditAccess()
{
return "YES";
}
//重写DeleteAccess函数,对普通用户授予删除权限
function DeleteAccess()
{
return "YES";
}
//重写ManageAccess函数,对普通用户授予管理权限
function ManageAccess()
{
return "YES";
}
}
//工厂类
class Factory
{
//静态成员属性
public static $users = array("Simon"=>"Client","Eliaine"=>"administrator","Bob"=>"Supporter");
//创建对象的成员方法
static function Create($name)
{
//根据成员属性的不同创建不同的对象
switch (self::$users[$name])
{
case "Client";
// echo $name;
// break;
return new Client($name);
case "administrator";
// echo $name;
// break;
return new Administrator($name);
case "Supporter";
// echo $name;
// break;
return new Supporter($name);
}
}
}
//一个存放用户名的数组
$users = array("Eliaine","Simon","Bob");
//对于每个用户分析其权限
foreach($users as $user)
{
$obj = Factory::Create($user);
echo $obj->getName()."的权限:\n";
echo "浏览: ".$obj->ViewAccess()."\n";
echo "修改:".$obj->EditAccess()."\n";
echo "删除:".$obj->DeleteAccess()."\n";
echo "管理:".$obj->ManageAccess()."\n";
echo "<br>";
}
?>

服了你了 小毛病 。。。。
全部回答

如何提示错误的?

昏,,现在的php5已经不是用和类同名的函数 来作为创建函数了,不过我能看的懂

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
精武堂七十级送东西么?
男友妈妈快过生日了,该送什麽啊???
QQ三国js60新帽子估价?
轻音少女 第2季几时出一集
巴围地址有知道的么?有点事想过去
朴尔敏和维C
帮忙提供一下自主招生的资料。
cpu风扇的中心部位很热,正常吗
我想买笔记本推荐下
《九鼎记》黑火灵果会被谁得到,谁能详细预测
帮咱翻译下这句话!
QQ可以被炸吗?
和结核患者头对头睡了半年会感染麽?
求《红领巾进行曲》伴奏曲 晨 枫作词 苏文进
湖北中艺石材加工厂地址有知道的么?有点事想
推荐资讯
谁给我个龙之谷内测号
常德钵子菜顺外路店这个地址在什么地方,我要
乐之声艺术幼儿园地址在什么地方,想过去办事
世界上是先有鸡还是先有蛋?
QQ空间 临时会话
阿庆嫂是个什么性格样的人
急求啊 基本乐理与听音训练 !
搜歌......
买3000到4000的台式液晶电脑 配置咋弄?
实况足球2010不在场如何加速游戏
哦哒哒哦哒哒 哦哒哦哒哦哒哒铃声
保险公司集中缴纳营业税是什么一回事?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?