PHP笔记10-day14

来源:互联网 发布:android js框架 编辑:程序博客网 时间:2024/05/31 13:14

继承:

基本概念

从一个现有的类A中,获取其中的特征信息,以构建另一个类B,这种现象就是继承。

基本语法:

class  A{}

class  B extends  A { } //单继承;

如果是多继承,代码类似这样(其实php是不支持的):

class s B  extends  A1, A2, A3,..... {}

几个基本概念

继承:B继承了A

派生:A派生出B

父类:基类,上级类,

子类:派生类,下级类,

单继承:就是一个类只能从另一个类继承特性的现象;

多继承:就是一个类能够从多个类继承特性的现象;

扩展:子类在继承父类的特征信息的基础上,再定义一些自己的特征信息。

访问控制修饰符:

3个访问控制修饰符,用于修饰属性或方法:public, protected, private

3个访问位置:类内部,继承关系类的内部;类外部;

总结:


parent关键词

代表父类。

常常在构造方法中使用,以代表父类来执行父类的方法(此时可能执行的是父类的静态方法或实例方法)

 

构造方法和析构方法调用上级同类方法的问题

1:他们都有这个特性:子类没有,则自动会调用父类,子类有,则不会自动调用父类;

2:子类中,可以人为调用父类的同类方法;

覆盖(override):

基本概念:

子类定义跟父类的同名属性或方法;

重写的基本要求:

1,子类中重写的属性或方法,其访问修饰符范围不能更小(狭窄);

2,子类中重写的方法,形参必须跟父类保持一致;

说明:

1,构造方法中的形参不受限制;

2,父类的私有成员其实是不能重写;

最终类:

就是一个不允许进行派生的类——即别的类不能以它作为父类;

final  class  类名{。。。}

最终方法:

就是一个定义好了之后不允许后代类去覆盖的方法;

什么叫设计模式?

其实就是针对某种问题所提出的(人们积累的)相应的解决方法的一般性经验总结。

工厂模式:

就是定义的一个类,它能够根据传递过来的类的名称,而“生产”这种类的对象。

class  Factory{

Static  function   GetObject( $类名 ){

return  new  $类名()

}

}

单例模式:

就是定义这样一个类:它只能实例化自己的一个对象。

实现单例需要如下几步:

class  Single{

//1步:私有化构造方法:

private  function  __construct(){} //保证外界不可以使用new来创建对象了

//2步:定义一个私有的静态属性,目标是为了存储该唯一对象,但其初始值为null

private  static  $instance  = null;

//3步:定义一个静态方法,从中判断是否生成该唯一对象,并返回该唯一对象;

static  function   GetInstance(){

if(  !isset( self::$instance )  ){

self:: $instance  =  new  self();

return  self::$instance;

}

}

 

封装性:

就是将一个类中的成员,设计为“尽量少地”对外开放其访问权限的一种指导原则;


0 0
原创粉丝点击