[置顶] PHP5 面向对象的一个新疑惑点,类对象实例竟然能访问类中私有方法,不知道是不是bug
来源:互联网 发布:华为编程大赛题目 编辑:程序博客网 时间:2024/06/07 18:32
先看代码:
class orm_factory {/** * 数据库操作对象 * * @var orm_driver */private $_driver = null ;/** * 表操作对象 * * @var orm_table_operator */private $_table_operator = null ;private static $_valid_dsn_set = array();private function __init_params(orm_driver $driver,orm_table_operator $table_operator){$this->_driver = $driver ;echo "111111111111" ;$this->_table_operator = $table_operator ;}function get_driver(){return $this->_driver ;}/** * 工厂实例对象 * @param string $dsn * @return orm_factory */static function instance($dsn){static $inst = null ;if (!$inst) $inst = new orm_factory() ;if (!isset(self::$_valid_dsn_set[$dsn])){try {$driver = new orm_driver($dsn) ;$driver->open_connect();$table_operator = new orm_table_operator($driver);self::$_valid_dsn_set[$dsn] = array('__driver__' => $driver ,'__operator__' => $table_operator);} catch (orm_driver_exception $ex){throw new orm_factory_exception($ex->getMessage());}}$inst->__init_params(self::$_valid_dsn_set[$dsn]['__driver__'],self::$_valid_dsn_set[$dsn]['__operator__']);return $inst ;}/** * 返回表操作器对象 * @param string $table * @return orm_table_operator */function get_operator($table){// 此处 可能触发 orm_table_exception$this->_table_operator->register_table($table) ;return $this->_table_operator;}}
加亮处 应该是有问题的
$inst->__init_params
此处竟然能从对象实例中访问私有方法,太不可思议了.... 难不成是因为在一个类中的代码都是可以调用的,而不是以 对象 来单独划分的么?
0 0
- [置顶] PHP5 面向对象的一个新疑惑点,类对象实例竟然能访问类中私有方法,不知道是不是bug
- 关于访问C++类对象中私有成员变量的方法,不考虑用友元
- 访问C++类对象中私有成员变量的方法
- PHP5中面向对象类的创建和对象实例化
- 反射访问类的私有属性对象的私有方法
- 为什么一个对象调用的类方法可以访问该类其他对象的私有成员
- java 面向对象基础 实例方法与类方法 this 包 访问权限 私有 共有 友好 保护
- PHP面向对象----(私有属性的访问方法)
- 本类的方法可以访问本类的任何一个对象的私有域、
- python中面向对象的类,方法,实例
- PHP5面向对象中抽象类和抽象方法的应用
- PHP5中面向对象的常用关键字和魔术方法
- 不知道是不是Visual C++的一个BUG
- 发现一个不知道是不是VS2005的bug?
- Java面向对象-类成员和实例成员的访问
- 不知道是不是TpageControl的bug
- 不知道这个是不是.NET的Bug
- 不知道是不是RakNet的BUG
- uIP resolv_found的实现
- 十四章 小练习
- [置顶] Agavi 框架
- [置顶] xser php framework 0.2 设计构想
- uc/OS-II读书笔记
- [置顶] PHP5 面向对象的一个新疑惑点,类对象实例竟然能访问类中私有方法,不知道是不是bug
- Unity面试题整理(4)--Socket知识点扫盲
- JavaScript toFixed() 方法
- [置顶] 在写的php 简单的orm实现 -- 用以解决昨天面试时的sql测试题
- [置顶] ZF框架学习笔记
- [置顶] 记录字段值唯一性检查 解决方案
- java 商场的幸运抽奖 关键代码
- pooling的几种形式
- [置顶] 改一个PHP WEB SHELL