三大特性:封装、继承、多态 一、封装:在面向对象语言中一般是通过访问控制来体现封装的特性。
PHP访问修饰符: private 用于除类本身以外对成员的访问,隐藏类的数据和实现 protected 用于除类本身以及继承该类以外对成员的访问,同时也体现了实现,类的实现子类也同样继承了 public 任意成员都可以访问
封装优点: 很好的隐藏了类内部细节实现和数据访问的有效控制; 封装缺点: 过于封装导致开放接口任务繁重,对于维护带来不便;
二、继承:继承是一种关联类的层次模型,通过现有的类派生出来的类,派生出来(子类)的类具有现有类(父类)的成员属性、常量、方法。 继承优点: 体现了代码复用、方便系统扩展; 继承缺点: 对父类产生依赖; PHP是编译时继承的,并且private修饰的成员方法是可以被继承下来的,只不过是不可以访问。method_exits();
三、多态:相同方法返回不同类型数据基于继承方法,里氏代换原则、依赖倒置原则很好的体现了多态特性; 多态优点: 多态即多种形态,相同方法调用实现的实现方式不同。多态关注一个接口或基类,在编程时不必担心一个对象所属于的具体类。 多态缺点: 目前没有发现;
另外两种接口、抽象特性: 接口是方法特征的集合,是一种逻辑上的抽象,他没有方法实现(成员方法不能实现),因此这些方法可以在不同地方实现,可以有完全相同的名字,完全不相同的行为。 抽象是相对具体类来说的,抽象类仅提供部分方法的实现,抽象类代表一个抽象概念 。
写的我都不是很清楚了,大致了解,真正拿捏好到脍炙人口尚需几日,到时在更新,持续关注中。