寻求帮助,熟悉类的朋友请进

hbolive 2002-03-15 10:00:23
class A {
var $x;

function setX($v) {
$this->x=$v;
}
function getX() {
return $this->x;
}
}


class B extends A{
var $y;

function getY() {
return $this->y = $this->getX();
}
}

$objy=new B;
$objy->setX(5);
echo $objy->getY();

显示的结果是5

现在如果class B不是从A extends 而来的,那么要怎么写才能达到相同的效果??

***********************************************
class A {
var $x;

function setX($v) {
$this->x=$v;
}
function getX() {
return $this->x;
}
}

class B {
?
}
此处怎么调用??才能有相同效果??
***************************************************
非常感谢!!
...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbolive 2002-03-18
  • 打赏
  • 举报
回复
问题已经解决,谢谢大家的关注,正确代码如下:

<?php
class A {
var $x;

function setX($v) {
$this->x=$v;
}
function getX() {
return $this->x;
}
}

class B {
var $a;
var $y;

function B() { //若B要包容A则在B中实例化A
$this->a = new A;
}

function getY($v) {
$this->a->setX($v);
return $this->y = $this->a->getX();
}
}

$objy=new B;
echo $objy->getY(5);
//输出结果是期望的5
?>
并感谢 qsnake(开工) 和zxyufan(宇凡) 的回复
hbolive 2002-03-18
  • 打赏
  • 举报
回复
上面仁兄的方法我试了,提示:Call to a member function on a non-object in …… :(
qsnake 2002-03-15
  • 打赏
  • 举报
回复
$db = new DB_class();

class user {

function User() {
golbal $db;
}
}
hbolive 2002-03-15
  • 打赏
  • 举报
回复
那我说详细点吧:
DB_Class封装了数据库的连接操作。举个例子:
class DB_Class {


function fetch_array ($qyery_string) {
此处查询并返回唯一的符合要求的数组
}


}


然后有一个和用户相关的类,就叫User
class User { //不是extentions

*************
这里好像有一个构造函数吧
function User() {
怎么写??

}


*************
function getUserByid($userid) { //根据用户ID号得到用户相关信息

这里要用到BD_Class里的fetch_array(),但是调用老出错,此处怎么写??
返回包含用户信息的数组

}
}//End class User

大致就是这样,因为以前我没有用类来规划我的站点,所以这方面不熟,由于PHP的类只支持单一继承
所以不考虑用继承的方式,而是每个类单独出来。。不知大家是不是这样用的??
谢谢!!
zxyufan 2002-03-15
  • 打赏
  • 举报
回复
分特遭搞昏完了~~

我也是用db.class.php的啊~~~怎么没这么麻烦~~

你具体说说你想做什么吧~~
hbolive 2002-03-15
  • 打赏
  • 举报
回复
老兄误会我的意思了。。

其实本来是这样的:
我写了一个数据库操作类,假如就叫DB_Class吧

然后还有一些其他类,里面有一些对数据库的操作,那就要用到DB_Class里的方法。所以……

而你的那个objy->setY($objx->getX());
$objx->getX()已经等于5,
和objy->setY(5)没有什么不同啊,所以……

再帮我看看。。
qsnake 2002-03-15
  • 打赏
  • 举报
回复
class B {
var $y;
function setY($v) {
$this->y=$v;
}
function getY() {
return $this->y;
}
}
使用:
$objx = new A;
$objx->setX(5);
$objy = new B;
$objy->setY($objx->getX());
echo $objy->getY();

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧