面向对象编程.ppt
《面向对象编程.ppt》由会员分享,可在线阅读,更多相关《面向对象编程.ppt(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、面向对象编程http:/PHPChina 工作室http:/Zend PHPChina Training内容简介p什么是对象p如何使用对象编程p面向对象思想的概念和关系pPHP5中面向对象部分的特性p以面向对象的思维设计程序p面向对象编程的优势和缺点p常用的设计模式pPHP5中的异常、反射与内建类和接口http:/Zend PHPChina Training什么是对象p什么是对象?q对象是包含了若干变量和函数的软件集合。p为什么要使用对象?q现实世界中处处都是对象。q软件对象用于模拟现实世界中的对象。q软件对象使用变量来维护它的状态。q软件对象使用相关子函数来实现它的功能。q软件对象抽象了业务
2、中的单元,使工作变得简单。http:/Zend PHPChina Trainingp 在教室内找出尽可能多的对象。p 对每一个对象从尽可能细致到尽可能抽象地描述它。http:/Zend PHPChina Training如何使用对象编程p在思维中模拟业务,并发现其中的基本单元。p根据业务大小和单元特征确定基本的对象。q基本单元应该能实现业务中的相应的子处理部分。q划分的对象应该具有典型性。q划分的对象中没有无意义的定义。p使用划分的对象在纸上描绘业务。p按照设计进行编程。http:/Zend PHPChina Trainingp 假设需要服务器A向服务器B发送某一条消息,然后由服务器B向服务器
3、A返回其回执。p尝试划分此业务中出现的对象。http:/Zend PHPChina Training面向对象思想的概念和关系p对象(Object)p类(Class)p原型(Prototype)p实体(Entity)p属性(Property)p方法(Method)http:/Zend PHPChina Training面向对象思想的概念和关系p结构体(Struct)p接口(Interface)p继承(Extends)p实现(Implements)http:/Zend PHPChina Trainingp 猫抓老鼠,狗拿耗子。p 尝试使用面向对象的思想来分析。p 如果强制规定必须使用接口,如何设计
4、接口。http:/Zend PHPChina TrainingPHP5中面向对象部分的特性p支持3P,更严格的可视设定。p支持抽象、最终和静态的修饰。p支持异常。p支持接口。p支持对象的迭代。p支持对象的克隆。p自动加载机制。p标准PHP库。http:/Zend PHPChina Training创建第一个类p类定义的语法class Person var$firstName;var$lastName;function Person($first,$last)$this-firstName=$first;$this-lastName =$last;function sayHelloWorld()
5、echo“$this-firstName$this-lastName:”.Hello World!;$jim=new Person(Jim,Green);$jim-sayHelloWorld();http:/Zend PHPChina Training修饰可视的3Pppublicq外部可见。pprotectedq内部可见。pprivateq仅自己可见。q后代继承类不可见。http:/Zend PHPChina TrainingPHP5新的写法习惯class Person public$firstName;public$lastName;public function _construct($f
6、irst,$last)$this-firstName=$first;$this-lastName =$last;public function sayHelloWorld()echo“$this-firstName$this-lastName:”.Hello World!;$jim=new Person(Jim,Green);$jim-sayHelloWorld();http:/Zend PHPChina Training抽象、最终和静态pabstractq类无法实例化,必须继承。q方法无法调用,必须在继承类中重载。pfinalq类无法继承。q方法无法重载。pstaticq属性为唯一的,所有实
7、例均指向同一数据。q方法无法在实例的上下文环境中调用。http:/Zend PHPChina Training中国人向世界问好abstract class Person /.protected$mWestern;public function _construct($first,$last)$this-firstName=$first;$this-lastName =$last;$this-mWestern =true;/.http:/Zend PHPChina Training中国人向世界问好class Chinese extends Person public function _cons
8、truct($last,$first)parent:_construct($first,$last);$this-mWestern=false;public function sayHelloWorld()echo“$this-lastName$this-firstName:”.世界你好!;$loong=new Chinese(李,小龙);$loong-sayHelloWorld();http:/Zend PHPChina Training中国人向世界问好class Chinese extends Person public function _construct($last,$first)p
9、arent:_construct($first,$last);$this-mWestern=false;static public function allSayHelloWorld()echo 全体中国人:世界你好!;Chinese:allSayHelloWorld();http:/Zend PHPChina TrainingPHP5支持类内部常量p格式qconst CONSTANT=Value;p用途q将无意义的值变为有意义的值。q便于阅读和维护。q便于调整和扩展。http:/Zend PHPChina Training使用类的内部常量abstract class Person const
10、 WESTERN=1;const EASTERN=2;/.class Chinese extends Person /.public function _construct($last,$first)/.$this-mWestern=self:EASTERN;/.http:/Zend PHPChina Trainingp 猫抓老鼠,狗拿耗子。p 使用父类继承的方式,编写相应的类。p 使用类的常量来声明对象特征:究竟是抓住老鼠的是猫还是狗。http:/Zend PHPChina Training创建第一个接口p接口定义的语法interface iAnimalAgainstMouse public
11、 function catchMouse(Mouse$mouse);class Cat implements iAnimalAgainstMouse /.public function catchMouse(Mouse$mouse)/./.http:/Zend PHPChina Training继承和实现的差异p如果需要继承,则有且仅有一个父类。p可以同时实现多个接口。class Child extends Father implements iFaceA,iFaceB,iFaceC /.http:/Zend PHPChina Training如何判断对象的原型p前面的例子qAnimal:CA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 编程
限制150内