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();

解决方案 »

  1.   

    老兄误会我的意思了。。其实本来是这样的:
    我写了一个数据库操作类,假如就叫DB_Class吧然后还有一些其他类,里面有一些对数据库的操作,那就要用到DB_Class里的方法。所以……而你的那个objy->setY($objx->getX());
    $objx->getX()已经等于5,
    和objy->setY(5)没有什么不同啊,所以……再帮我看看。。
      

  2.   

    分特遭搞昏完了~~我也是用db.class.php的啊~~~怎么没这么麻烦~~你具体说说你想做什么吧~~
      

  3.   

    那我说详细点吧:
    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的类只支持单一继承
    所以不考虑用继承的方式,而是每个类单独出来。。不知大家是不是这样用的??
    谢谢!!
      

  4.   

    $db = new DB_class();class user {    function User() {
            golbal $db;    
        }
    }
      

  5.   

    上面仁兄的方法我试了,提示:Call to a member function on a non-object in …… :(
      

  6.   

    问题已经解决,谢谢大家的关注,正确代码如下:<?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(宇凡) 的回复