《PHP面向对象编程》PPT课件.ppt
《《PHP面向对象编程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《PHP面向对象编程》PPT课件.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年7月22日星期五IT Education & Training2022-7-22主要内容 面向对象编程的基础知识 PHP5中面向对象编程的基本技术 PHP5中面向对象编程的高级技术 2022年7月22日星期五IT Education & Training2022-7-22面向对象编程的基础知识 什么叫面向对象(OOP Object Oriented Programming) 起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法。但这个定义显然不能再适合现在情况。 面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented An
2、alysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。2022年7月22日星期五IT Education & Training2022-7-22面向对象的基本概念 对象 :对象是人们要进行研究的任何事物,它不仅能表示具体的事物还可以是抽象的事物. 对象的属性和行为 :对象用数据值来描述状态。 行为就是操作可以改变对象的状态. 类 :具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,类实际上就是一种数据类型。 类
3、的属性与方法通常又统称为类的成员成员。2022年7月22日星期五IT Education & Training2022-7-22面向对象的特征 封装:类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护 继承是指子类可以拥有父类所有的属性和方法, 除了这些以外,子类自己还可以创建新的方法和属性 多态:同一操作作用在不同对象上所的结果不一样,这 就是多态。也就是同一函数在不同的对象中所实现的功能不一样。2022年7月22日星期五IT Education & Training2022-7-22创建类 定义类 class ClassNa
4、me /包含属性和方法 class:关键字,说明声明了一个类 ClassName: 类名。满足标识符的规定2022年7月22日星期五IT Education & Training2022-7-22创建对象 对象是通过类实例化出来的, 使用new 关键字来生成一个对象 语法: $对象名称= new 类名称(); 如定义了Person后,创建该类的对象$p1=new Person(); $p2=new Person();2022年7月22日星期五IT Education & Training2022-7-22使用对象中的成员 PHP 对象中的成员有两种一种是成员属性,一种是成员方法.访问对象中的成
5、员就要使用一个特殊的操作符“-”来完成对象成员的访问. 语法:对象-属性对象-方法 如:$p1-name; $p1-age; $p1-sex; $p1-say(); $p2-run();2022年7月22日星期五IT Education & Training2022-7-22$this 的使用 在类的外部,访问对象中的成员,可通过“对象-成员”的形式 在类的内部,访问类的成员(属性或方法), 使用 ”$this-成员“,代表本对象的引用 如: 2022年7月22日星期五IT Education & Training2022-7-22构造方法 构造方法是特殊方法。当使用new 这个关键字来创建一
6、个对象时,它将自动调用构造方法。 PHP5中,构造方法的名称统一为_ _construct( )。 PHP4中如果一个方法与类同名时,这个方法将成为构造方法. 与类同名的构造方法在PHP5 中仍然可以用,但现在很少有人用,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数 构造方法可以给对象做初始化的工作 格式:function _ _construct ( 参数 ) . . 2022年7月22日星期五IT Education & Training2022-7-22构造方法注意: 当与类同名的构造方法和_construct()同时存在时,后者优先 调用有参构造方法创
7、建对象,必须向构造方法中传参。 $p=new Person(张三,20); 定义构造方法时可以给参数设置默认值,如此,可以调用无参的构造方法创建对象。2022年7月22日星期五IT Education & Training2022-7-22析构方法 PHP5中,引入析构方法的概念,可以及时释放对象所占用的内存 析构方法_destruct()该方法没有参数,也没有返回值该方法在脚本关闭或对象引用被删除前被调用析构方法可用于关闭数据库,关闭文件或其他扫尾工作 function _ _destruct() echo 对象即将销毁; 2022年7月22日星期五IT Education & Traini
8、ng2022-7-22封装 封装是面向对象三大特征之一,含义有两层:把对象的属性和方法结合在一起尽可能隐藏对象的内部细节,对外只保留有限的接口 反映在设计上就是,封装可以保证对象以外的部分不能随意读写对象的内部数据 PHP中封装涉及到的三个关键字public ,protected,private2022年7月22日星期五IT Education & Training2022-7-22类成员的可见性 为控制类成员的可见性,限定对属性和方法的访问,使用以下三种访问修饰符public 表示全局,类内部外部子类都可以访问;protected表示受保护的,只有本类或子类或父类中可以访问;private表
9、示私有的,只有本类内部可以使用; 注意:只要属性前有修饰符,要把var去掉,var等同public的访问权限2022年7月22日星期五IT Education & Training2022-7-22_ _set() , _ _get()方法应用方法应用 _set()方法:该方法有两个参数,第一个参数为要设置值的属性名,第二个参数是要给属性设置的值,没有返回值。在直接设置私有属性值的时候自动调用. _get()方法:该方法用来获取私有成员属性值,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,该直接获取私有属性的时候对象自动调用的 注意:两个方法是为了存取私有属性,如果成员属性不
10、封装成私有的,对象本身就不会去自动调用这两个方法。2022年7月22日星期五IT Education & Training2022-7-22继承 PHP中,只支持单重继承 通过继承生成的子类,将自动拥用父类的有关属性和方法(父类中的私有成员除外) 子类还可以定义自己的新属性和相应的新方法 必要时,子类可重新声明父类的同名属性或重新定义父类的同名方法 继承使用extends关键字 class B extends A 2022年7月22日星期五IT Education & Training2022-7-22继承 子类覆盖父类中同名的方法时,在子类里可以使用如下两个方法调用父类方法:一种是使用父类的
11、“类名:”来调用父类中被覆盖的方法;一种是使用“parent:”的方试来调用父类中被覆盖的方法;2022年7月22日星期五IT Education & Training2022-7-22访问修饰符-protected protected 的成员不能被该类的外部代码访问。但是该类的子类有访问权限,可以进行属性、方法的读及写操作,该子类的外部代码包括其的子类都不具有访问其属性和方法的权限。2022年7月22日星期五IT Education & Training2022-7-22final关键字 Final 可以修饰类和方法 被final修饰的类不能被继承 被final修饰的方法不能被覆盖2022年
12、7月22日星期五IT Education & Training2022-7-22static关键字static 修饰的属性是静态属性,静态属性是属于类的,不属于任何对象实例,这样的属性在内存中只有一个,多个对象共用这一个属性静态属性不可以由对象通过-操作符来访问。 静态属性由类名:$静态属性来访问如:2022年7月22日星期五IT Education & Training2022-7-22static关键字 static修饰的方法称为静态方法,静态方法只能使用静态成员,不能访问非静态成员 静态方法中访问静态属性不能使用$this,而是使用 self:$静态属性或是类名:静态属性 非静态方法中访
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP面向对象编程 PHP 面向 对象 编程 PPT 课件
限制150内