随笔分类 - 面向对象
摘要:多态的确切含义是: 同一类对象收到相同消息时,会得到不同的结果。而这个消息是不可预测的。多态,顾名思义,就是多种状态,多种结果。以java为例,由于java是强类型语言,因此变量和函数返回值是有状态的。比如,实现一个add函数的功能,其参数可能是两个int型整数,也可能是两个float型浮点数,而返...
阅读全文
摘要:面向对象的优势在于类的复用.继承与多态都是对类进行复用,它们是一个类级别的复用,一个是方法级别的复用.提到继承必提组合,二者有何异同?PHP到底有没有多态?若没有,则为什么没有?有的话,和其他语言中的多态又有什么区别?继承和组合都是提高代码可重用性的手段.在设计模型时,可以按照语言识别类之间的组合关...
阅读全文
摘要:如何防止调用不存在的方法而出错,使用__call魔术重载方法.__call方法原型如下:mixed __call(string $name,array $arguments)当调用一个不可访问的方法(如未定义,或者不可见时), __call()就会被调用.其中$name参数是要调用的方法名称.$ar...
阅读全文
摘要:当调用或者设置类不存在的方法时,_会调用_set和__get方法以下是示例值为'.$value.''; $this->$name = $value; } public function __get($name) { if(!isset($this->$n...
阅读全文
摘要:PHP中的面向对象先看PHP源码中对变量的定义#zend/zend.htypedef union_zvalue_value{ long lval;/* long value */ double dval;/* double value */ struct { c...
阅读全文