20180926 面向对象介绍

面向对象思想介绍

OOP:Object Oriented Program面向对象编程。

面向对象三大特性

 封装   继承   多态

类与对象

类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称。

对象:是指一个具体的“物体”,该物体隶属于某个“类别”(类)。

对象创建的基本形式

$对象名1  =  new  类名(); //对象名就是变量名;类是应该定义过了

类中成员

属性

方法

类常量

方法中$this关键字

 

$this是一个“伪对象”,代表当前所属类的当前对象。

静态属性

 

 

静态属性的使用:

 

通过特殊的语法:::(双冒号语法,也叫范围解释符)

 

静态方法

 

如果在一个方法的前面加上static关键字修饰,则就变成了静态方法。

 

静态方法同样隶属于类,而不是隶属于具体对象。使用方法跟静态属性类似:

 

类名::静态方法名();

 

从理念上,可以认为,静态方法是只隶属于类,而为所有对象所“共有”。

 

注意

 

1     $this在静态方法中不能使用。

2     静态方法中不应调用非静态方法。

构造方法

构造方式是类中的一个“特殊”方法,其作用是在实例化一个对象的同时,给该对象的属性赋值,使之一创建完成,就具有了其本身的特有数据(属性值)。

1,该方法名字是固定的,为:__construct();

2,该方法必须是普通方法(不能是静态方法)

3,通常该方法应该是public

4,通常该方法中使用$this这个关键字来对属性进行赋值

5,当new 类名()的时候,其实是在调用该构造方法

6,如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配

 

析构方法

 

构造方法是“创建”对象的时候会自动调用。

 

析构方法是“销毁”对象的时候会自动调用。

 

 

 

系统方法通常用于在销毁对象的时候来“清理数据”(打扫战场)——如果需要,就可以利用这个机会去处理。

 

 

 

通常,php程序结束后,所有对象都会自动销毁(其实属于php内部的垃圾回收机制)

类的继承

继承:一个类从另一个已有的类获得其特性,称为继承。

派生:从一个已有的类产生一个新的类,称为派生。

继承和派生,其实只是从不同的方向(角度)来表述,本质上就是一个事情。

父类/子类:已有类为父类,新建类为子类。父类也叫“基类”,子类也叫“派生类”

单继承:一个类只能从一个上级类继承其特性信息。PHP和大多数面向对象的语言都是单继承模式。C++是多继承。

扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了

 

访问(权限)修饰符

 

在类中的成员,通常都可以在前面加上以下3个修饰符:

 

public:公共的,共有的,公开的

 

protected:受保护的

 

private:私有的,

 

 

posted @ 2018-09-26 19:16  街角的守护  阅读(118)  评论(0编辑  收藏  举报