PHP面向对象理解.docx

PHP面向对象理解.docx

ID:59253515

大小:15.61 KB

页数:5页

时间:2020-09-08

PHP面向对象理解.docx_第1页
PHP面向对象理解.docx_第2页
PHP面向对象理解.docx_第3页
PHP面向对象理解.docx_第4页
PHP面向对象理解.docx_第5页
资源描述:

《PHP面向对象理解.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PHP面向对象的理解面向对象的思想,既把一系列事物(可以抽象看作一个个体,或者一种类型)的属性,操作看作是一个对象,将其封装为一个类,内部包含这个抽象概念相关的一些属性及相关操作(方法)。php面向对象的三大特征:封装,继承,多态。封装:既把一系列的属性,方法封装在一个类中,给每个属性添加public,protected,private,关键字修饰可以使得这些属性不能被外部轻易访问。private:只能类内部访问操作。protect:受保护类型,用于本类及子类调用public:权限最大,可以内部调用,实例调用,子类调用__get();可以获取pr

2、ivate属性(以及没有初始化的属性,比如不存在的)__set();可以设置private属性(以及没有初始化的属性,比如不存在的)__construct():实例化类对象的时候调用,当子类继承父类,子类实例化对象时会默认先调用子类的构造函数,如果希望调用父类的构造函数,则需要在子类的构造函数中通过parent::__construct();访问父类的构造方法,注意此处的关键字parent为小写,同时如果需要访问父类的方法,也可以采用parent关键字访问parent::父类方法名(或者采用父类名::方法名)。__destruct():析构函数,

3、创建对象后,令创建的对象,例如:$a=null.即可调用析构函数继承:通过extends关键字可以继承父类的一些属性(public,protected修饰的),private修饰的变量可以被继承下来,但是无法被访问。php中子类的继承是单继承的,但是可以继承多个接口。通过implement即可继承interface。Trait关键字可以解决php单继承的问题,实现多重继承。多态:多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果,由于php是弱类型语言,所以不同于java,c++不存在重载(既同一函数名,不同类型参数,不同个

4、数的参数),但是自php5后出现了一个魔术方法__call。__call()的作用:当访问不存在的类方法时,调用该方法。例如:ClassA{ //name :调用的方法名字。args:参数列表  function__call($name,$args){//计算传入的参数个数$num=count($args);If($num==1){$this->test1($args[0]);}else{$this->test2($args[0],$args[1]);}}functiontest1($name){echo$name.“test1”;}functi

5、ontest2($name,$ages){echo$name.“test2”.$ages;}}$a=newA();echo$a->a(‘a’);echo$a->a(‘a’,’b’);抽象类abstract:Abstract类不能被实例化,abstract中可以声明变量,常量,普通方法(可选,可以添加其实现)及必须实现至少一个抽象方法(抽象方法不允许有{},既不允许有其实现),abstract中方法可以是public,private,protected。继承的派生类必须把抽象方法重载才能实例化。抽象类继承另外一个抽象类时(目的是对该抽象类的扩展),

6、不能重写父类的抽象方法,抽象类只能单继承。例子:abstractclassA{public$a;publicfunctionA(){echo“实现”;}abstractfunctionB();}接口interface:Interface中只能定义方法及其参数,不能实现,接口中方法必须是public公有的。接口可以声明不能实例化,继承(使用implements)他的类必须实现interface中的方法,一个类可以继承多个接口,一个接口可以继承另一个接口(implement),接口中可以定义常量(const关键字)。例子:InterfaceA{Con

7、sta=’a’;PublicfunctionA($a){};//声明接口中的方法}ClasssBimplementsA{PublicfunctionA($a){echo$a;//必须写继承的接口中方法的实现}}只要对象实现了某个接口,就直接可以通过对象调用接口的所有方法,接口实现的类方法有很多,这种现象就称为多态,相同的代码传入的对象不一样,所以具体实现方式也不一样,这就是多态的真正含义。例子:interfaceAnimal{publicfunctionrun();}classDogimplementsAnimal{publicfunctionr

8、un(){echo'dogrun';}}classCatimplementsAnimal{publicfunctionrun(){ech

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。