日期:2014-05-17  浏览次数:20612 次

类里引用另一个类里的方法,怎以不行
本帖最后由 xiachao2008 于 2011-12-16 15:34:37 编辑
有一个数据库类 sql.php
有一个配置文件config.php,里面new了数据连接类得到类名$db
在一个操作文件aa.php里面引入config.php

在aa.php里,定主了一个类名Aa 我在Aa里要用数据库类sql.php里的一个方法,但是eclipse不提示方法(很明显引用不成功)
但是,我在Aa类的外面引用方法      eclipse提示了方法


这个为什么呢,难到在一个类里的方法不能引用另一个类的方法?


------解决方案--------------------
可以!
你可以在外部实例化,作为参数传递到类中
你可以在外部实例化,在类中声明全局变量
你可以在类中实例化
你还可以通过累的静态属性传递进来
你还可以采用单例模式使用它

------解决方案--------------------
引用:
有一个数据库类 sql.php
有一个配置文件config.php,里面new了数据连接类得到类名$db
在一个操作文件aa.php里面引入config.php

在aa.php里,定主了一个类名Aa 我在Aa里要用数据库类sql.php里的一个方法,但是eclipse不提示方法(很明显引用不成功) <-这个不一定是引用不成功,IDE的语法提示有时候不大灵。
但是,我在Aa类的外面引用方法      eclipse提示了方法


这个为什么……


如果运行有错的话,你还是吧代码贴出来看看。
------解决方案--------------------
引用:
config.php里我实例化了$db
我在aa.php引用了config.php
按上面所说的,我在Aa类里直接
$db->方法
就可以啊。
但是,实际上是不行的。

为什么可以呢?那个 $db 对于 Aa 的方法来说是外部变量,你不拿进来怎么能用呢?
------解决方案--------------------
那就要怪 eclipse 了,他居然不能识别运行时刻加载的对象!?
真该千刀万剐
------解决方案--------------------
后面我在Aa类的一个方法里引入config.php文件
但是还是不能用啊?

在该方法中应该可以用了,其他方法不可以用。
------解决方案--------------------
引用:
后面我在Aa类的一个方法里引入config.php文件
但是还是不能用啊?

在该方法中应该可以用了,其他方法不可以用。


? 你是xxx的马甲? xxx是你的马甲?


------解决方案--------------------
很神奇啊。

引用:
引用:

后面我在Aa类的一个方法里引入config.php文件
但是还是不能用啊?

在该方法中应该可以用了,其他方法不可以用。


? 你是xxx的马甲? xxx是你的马甲?