欢迎来到天天文库
浏览记录
ID:40012067
大小:202.00 KB
页数:43页
时间:2019-07-17
《《php面向对象编程》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PHP面向对象编程PHP面向对象编程2021/9/9主要内容面向对象编程的基础知识PHP5中面向对象编程的基本技术PHP5中面向对象编程的高级技术2021/9/9面向对象编程的基础知识什么叫面向对象(OOPObjectOrientedProgramming)起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法。但这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOrientedAnalysis),面向对象的设计(OOD,ObjectOrientedDesign)、以及我们经常说的面向对象的编程实现(OOP,O
2、bjectOrientedProgramming)。2021/9/9面向对象的基本概念对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物还可以是抽象的事物.对象的属性和行为:对象用数据值来描述状态。行为就是操作可以改变对象的状态.类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,类实际上就是一种数据类型。类的属性与方法通常又统称为类的成员。2021/9/9面向对象的特征封装:类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护继承是指子类可以拥有父类所有的属性和
3、方法,除了这些以外,子类自己还可以创建新的方法和属性多态:同一操作作用在不同对象上所的结果不一样,这就是多态。也就是同一函数在不同的对象中所实现的功能不一样。2021/9/9创建类定义类classClassName{//包含属性和方法}class:关键字,说明声明了一个类ClassName:类名。满足标识符的规定2021/9/9创建对象对象是通过类实例化出来的,使用new关键字来生成一个对象语法:$对象名称=new类名称();如定义了Person后,创建该类的对象$p1=newPerson();$p2=newPerson();2021/9/9使用对象中的成员PHP对象中的成员有两种一种是
4、成员属性,一种是成员方法.访问对象中的成员就要使用一个特殊的操作符“->”来完成对象成员的访问.语法:对象->属性对象->方法如:$p1->name;$p1->age;$p1->sex;$p1->say();$p2->run();2021/9/9$this的使用在类的外部,访问对象中的成员,可通过“对象->成员”的形式在类的内部,访问类的成员(属性或方法),使用”$this->成员“,代表本对象的引用如:2021/9/9构造方法构造方法是特殊方法。当使用new这个关键字来创建一个对象时,它将自动调用构造方法。PHP5中,构造方法的名称统一为__construct()。PHP4中如果一个方
5、法与类同名时,这个方法将成为构造方法.与类同名的构造方法在PHP5中仍然可以用,但现在很少有人用,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数构造方法可以给对象做初始化的工作格式:function__construct([参数]){......}2021/9/9构造方法注意:当与类同名的构造方法和__construct()同时存在时,后者优先调用有参构造方法创建对象,必须向构造方法中传参。$p=newPerson("张三",20);定义构造方法时可以给参数设置默认值,如此,可以调用无参的构造方法创建对象。2021/9/9析构方法PHP5中,引入析构方法的
6、概念,可以及时释放对象所占用的内存析构方法__destruct()该方法没有参数,也没有返回值该方法在脚本关闭或对象引用被删除前被调用析构方法可用于关闭数据库,关闭文件或其他扫尾工作function__destruct(){echo"对象即将销毁";}2021/9/9封装封装是面向对象三大特征之一,含义有两层:把对象的属性和方法结合在一起尽可能隐藏对象的内部细节,对外只保留有限的接口反映在设计上就是,封装可以保证对象以外的部分不能随意读写对象的内部数据PHP中封装涉及到的三个关键字public,protected,private2021/9/9类成员的可见性为控制类成员的可见性,限定对属
7、性和方法的访问,使用以下三种访问修饰符public表示全局,类内部外部子类都可以访问;protected表示受保护的,只有本类或子类或父类中可以访问;private表示私有的,只有本类内部可以使用;注意:只要属性前有修饰符,要把var去掉,var等同public的访问权限2021/9/9__set(),__get()方法应用__set()方法:该方法有两个参数,第一个参数为要设置值的属性名,第二个参数是要给属性设置的值,没有返回值。
此文档下载收益归作者所有