收藏 分享(赏)

《Web程序设计》-第六讲面向对象开发.ppt

上传人:jinchen 文档编号:8117699 上传时间:2019-06-09 格式:PPT 页数:27 大小:476KB
下载 相关 举报
《Web程序设计》-第六讲面向对象开发.ppt_第1页
第1页 / 共27页
《Web程序设计》-第六讲面向对象开发.ppt_第2页
第2页 / 共27页
《Web程序设计》-第六讲面向对象开发.ppt_第3页
第3页 / 共27页
《Web程序设计》-第六讲面向对象开发.ppt_第4页
第4页 / 共27页
《Web程序设计》-第六讲面向对象开发.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、第六讲 面向对象开发,版权所有 计算机科学系软件教研室Web程序设计,目录,面向对象基础 对象的概念 创建和使用类 类的结构与定义 类成员 访问修饰符 $this关键字 构造方法 类的继承,目录,parents:和slef:关键字 类常量 静态成员变量和方法 对象类型检测instanceof 类的多态性 抽象方法与抽象类 接口的实现,面向对象基础,面向对象编程(OOP)起源于20世纪60年代,直到20世纪90年代才成为应用软件开发的主流,而如今从应用软件时代过渡到Web,面向对象思想仍然具备极大的应用价值。 面向对象开发方法包括 面向对象分析OOA 面向对象设计OOD 面向对象编程OOP 了解

2、OOP,先要理解数据抽象,数据抽象是一个基本的数据类型,以及在这个数据类型上可以实现的操作集合,用户不用关心这个类型是如何实现的,只需要知道该类型上定义了哪些操作。,面向对象基础,面向对象编程(OOP)三大特点是:封装、继承和多态。 使用面向对象编程(OOP)架构开发应用程序的优点: 容易分发代码,方便系统二次开发 促进代码整洁及重用 促进可扩展性、代码弹性,以及适应性 适合于团队开发 OOP有很多设计模式可利用,可以直接再次利用和开发,对象的概念,理解“万事万物皆对象”,创建和使用类,创建和使用类的步骤: 编写类的语句段 将要使用的对象的类文件包含到当前脚本中 在脚本中创建一个对象 使用新对

3、象,类的结构与定义,类是对象的模板。在准备创建类之前,应该确定项目中需要的对象属性和方法。 类的定义与结构类的实例化,$tempCar = new Mycar();,类成员,字段和方法是最重要的类成员类型。字段是数据成员,方法是函数成员。 字段隶属于类的变量 它可以是任何类型,无论是预定义还是用户定义类型 和所有变量一样,字段用来保存数据 可以被写入 可以被读取,class MyCar public $name; /定义一个名为name的字段 ,类成员,方法具有名称的可执行代码块,可以从程序的很多不同地方执行,甚至从其他程序中执行 返回类型,它声明了方法返回值的类型。如果没有返回值,默认不写

4、名称:方法的名称 参数列表:它由至少一对空的圆括号组成。如果有参数,它们被列在圆括号中间 方法体:它由一对大括号组成,大括号内包含执行代码 由function来声明,类成员,访问修饰符,$this关键字,在一个类中,$this是一个特殊的变量,并且只能在类的内部使用,用以获取类中某个成员变量的值。 使用$this的格式如下 $this-varname,class MyCar public $name;function Drive()echo”我正在开”.$this-name.”牌的车”; ,构造方法,构造方法的作用是初始化类的成员字段。 在PHP5中,创建构造方法规定使用如下名称(注意,是两条

5、下划线) _construct() 如果在一个类中没有显示声明_construct()构造方法,PHP会自动生成默认的构造方法,该方法没有任何内容,它不接受任何参数。,构造方法,name;echo”尺寸:”.$this-size;echo”颜色:”.$this-color;echo”价格:”.$this-price;echo”车型:”.$this-type; ?,$bieke=new MyCar();$bieke-name=“凯越”; $bieke-size=“410*180*170”; $bieke-price=“140000”; $bieke-color=“铂灰”; $bieke-type

6、=“轿车”;$bieke-Drive();,构造方法,Q & A 如何用构造函数来重写以上类?,类的继承,面向对象编程(OOP)的一大好处是,可以使用类再次”继承“已有的类,被继承的类称为父类或基类,子类将继承父类所有的方法和字段,因此提高了代码的重用性,提高软件开发效率。 关键字:extends,类的继承,class Father public $money=“1000000”;public $horse=“别墅”;function Drive()echo”开宝马7系列车”; class Son extends Father /不定义任何方法和字段 $temp = new Son(); ec

7、ho $temp-money; echo $temo-horse; $temp-Drive();,parents:和slef:关键字,self:指当前类,通常用来获取静态成员、方法和常量 parents:指的是父类和要调用的父类中的成员方法,也可以用来获取成员变量和常量,parents:和slef:关键字,类常量,类常量是定义在类中的常量,如果我们使用const关键字来修饰该常量,那么该常量就被称为类常量。 类常量定义就不能再进行赋值操作。 类常量访问 外部访问:类名:常量名称 内部访问:self:常量名称,class Computer const COMPUTER_TYPE = 1;cons

8、t COMPUTER_FACTORY = “CN”; echo Computer:COMPUTER_FACTORY.”n”;,静态成员变量和方法,由static关键字声明的成员变量和方法称为静态成员变量和方法。 静态成员访问时不需要实例化类,而是直接访问,格式如下: 类名:静态成员变量 类名:静态方法名称 另:parent:和self:同样适合静态成员变量和方法。,对象类型检测instanceof,功能:检测当前对象是否属于某一个类的类型 返回值:bool逻辑值,类的多态性,多态性概括:子类可以以父类的身份出现,抽象方法与抽象类,抽象类是一种不能被实例化的类,它主要用于为继承的子类定义界面,在

9、抽象类里面的成员方法都是没有具体实现的方法。 采用abstract关键字来修饰。 如果抽象类的子类没有实现父类的全部方法,那子类也是抽象类,也不能被实例化。,接口的实现,通过类的继承可以实现一个父子关系的描述,如果要实现多重继承,就要使用接口(interface),接口提供了多重继承的功能实现。实现接口就必须实现接口中的所有方法。,interface InterfaceNamefunction IMethod1(); ,interface InterfaceNamefunction Method1(); class MySubClass implements InterfaceNamefunction Method1() /具体方法逻辑实现 ,Thank You !,版权所有 计算机科学系软件教研室Web程序设计,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报