php面向对象设计模式

  为什么学习设计模式:
  1,更深入的了解面向对象的思想
  2,有利于开发出扩展性强的东西

  

  什么是设计模式:经常出现的典型场景的典型解决方案,就是设计模式。举个例子生活中的设计模式:比如泡妞思路,象棋招数等。那么如何学习设计模式?典型场景--》典型问题--》典型解决方法

多态

  多态是一个生物学上的概念,指同一种类的多种表现形态,如:鲫鱼一般在一斤左右,鲢鱼普遍在十斤以上,在面向对象中,指某种对象(比如一种老虎)实例的不同表现形态,比如有的虎会爬树,有的则不会。在强类型语言java中,函数参数,函数的返回值,都是定死的,而当一个类想实现不同的处理时,我们通常只申明抽象类,具体的工作由子类对象来完成,因为子类属于父类,所以我们在使用时,传入父类对象就可以实现不同的功能,这是java的多态。php是弱类型语言,一个变量没有类型,你装什么都行,同理,传参也没有强制类型,传什么都行,所以对于php动态语言,不是多态,而是变态,为了让php不这么灵活,我们对参数类型做限制,参数定为父类,传其子类。本身php语言就是多态的,在php5.3以后,引入了对象类型的参数检测(只能检测对象所属的类),这对php来说,限制了灵活性,达到了java中多态的效果

思考 :多态其实就是指抽象的申明父类,具体的工作由子类对象完成,这样不同的子类对象完成,有不同的特点

待续。。。

你可能感兴趣的:(设计模式)