《PHP动态网站开发》实验指导/实验九:面向对象编程 《PHP动态网站开发》实验指导 实验九:面向对象编程 实验目的(5分) 1、了解类和对象的基本概念 掌握PHP中类的定义、实例化和访问 3、掌握类的构造方法和析构方法 4、掌握面向对象的特征,继承性、多态性和封装性。 二、实验环境(5分) 1、 Windows xp/ Windows7操作系统的计算机; 2、局域网网络环境,并且使用固定IP地址。 实验要求(5分) 1、定义一个学生管理类 2、学习类的继承性 3、学习接口的使用: 4、完成克隆对象。 四、实验原理(5分) 1、PHP接收表单数据的方法; 2、PHP获取URL参数的方法 3、PHP常用的页面跳转方法 五、实验步骤(40分) 1、定义一个学生管理类。 (1)在PHP中使用 class关键字定义类,类的实例化使用new关键字,设计一个学生管理类 存储学生的信息 (2)编写PHP程序实现如图9-1所示功能。 学号 姓名 性别:◎男◎女 学号:081101 姓名:王林 性别:男 图9-1学生个人信息页面 (3)完成下述任务 任务一:编写如图9-1所示代码,实现上述功能(10分) 要求 请将主要代码填写到实验报告册中 理科学与工程学科/共3页第1页
《PHP 动态网站开发》实验指导 / 实验九:面向对象编程 管理科学与工程学科 / 共 3 页,第 1 页 《PHP 动态网站开发》实验指导 实验九:面向对象编程 一、实验目的(5 分) 1、了解类和对象的基本概念; 2、掌握 PHP 中类的定义、实例化和访问; 3、掌握类的构造方法和析构方法; 4、掌握面向对象的特征,继承性、多态性和封装性。 二、实验环境(5 分) 1、Windows XP/Windows 7 操作系统的计算机; 2、局域网网络环境,并且使用固定 IP 地址。 三、实验要求(5 分) 1、定义一个学生管理类; 2、学习类的继承性; 3、学习接口的使用; 4、完成克隆对象。 四、实验原理(5 分) 1、PHP 接收表单数据的方法; 2、PHP 获取 URL 参数的方法; 3、PHP 常用的页面跳转方法。 五、实验步骤(40 分) 1、定义一个学生管理类。 (1)在 PHP 中使用 class 关键字定义类,类的实例化使用 new 关键字,设计一个学生管理类, 存储学生的信息。 (2)编写 PHP 程序实现如图 9-1 所示功能。 图 9-1 学生个人信息页面 (3)完成下述任务。 任务一:编写如图 9-1 所示代码,实现上述功能(10 分)。 要求: 请将主要代码填写到实验报告册中
《PHP动态网站开发》实验指导/实验九:面向对象编程 2、学习类的继承性 (1)定义一个父类A,假设具有两个属性,其属性值分别为香蕉、苹果:再定义一个子类B,具 备三个属性,属性值分别为橙子、猕猴桃和梨;使得子类B可以继承父类A,然后将这五种水果进 行输出 (2)完成下述任务。 任务一:编写代码,完成上述要求的输出(10分) 要求 请将主要代码填写到实验报告册中。 3、学习接口的使用 (1)定义两个接口分别为A,B,然后再定义一个子类C,使得C可以继承AB,写出实例化C 和使用C代码。 A接口 interface A B接口 terface B function shownameo 子类C classc implements A, B function getname(Sname) Sthis->name=Sname function shownameo echo Sthis->name (2)完成下述任务: 任务一:写出使用子类C的代码。(10分) 要求 请将主要代码填写到实验报告册中 理科学与工程学科/共3页第2页
《PHP 动态网站开发》实验指导 / 实验九:面向对象编程 管理科学与工程学科 / 共 3 页,第 2 页 2、学习类的继承性 (1)定义一个父类 A,假设具有两个属性,其属性值分别为香蕉、苹果;再定义一个子类 B,具 备三个属性,属性值分别为橙子、猕猴桃和梨;使得子类 B 可以继承父类 A,然后将这五种水果进 行输出。 (2)完成下述任务。 任务一:编写代码,完成上述要求的输出(10 分) 要求: 请将主要代码填写到实验报告册中。 3、学习接口的使用 (1)定义两个接口分别为 A,B,然后再定义一个子类 C,使得 C 可以继承 A,B,写出实例化 C 和使用 C 代码。 A 接口 interface A { const name=""; function getname($name); } B 接口 interface B { function showname(); } 子类 C class C implements A,B { var $name=""; function getname($name) { $this->name=$name; } function showname() { echo $this->name; } } (2)完成下述任务: 任务一:写出使用子类 C 的代码。(10 分) 要求: 请将主要代码填写到实验报告册中
《PHP动态网站开发》实验指导/实验九:面向对象编程 4、克隆对象 (1)定义一个类Cid,使用克隆的方法在创建一个与其类似的对象 Cid类 class Cid public Sid=l oublic function clone i Sthis->id=Sthis->id+1; 3 (2)完成下述任务: 任务一:写出实例化Cid的代码,然后再克隆实例化后的对象,并将其进行输出。(10分) 要求 请将主要代码填写到实验报告册中。 六、自主实验(20分) 1、抽象类 (1)将实验步骤3中的接口改为抽象类,实现同样的功能 (2)完成下述任务 任务一:编写代码实现上述中要求(10分)。 要求 请将主要代码填写到实验报告册中 2、列举类的魔术方法。 (1)类的魔术方法有很多,例如 clone,该方法可以克隆出一个类似的对象 (2)再列举其他三个类的魔术方法,并说明其作用 (3)完成下述任务。 任务一:按照上面的要求,写出类的魔术方法(10分) 要求 请将答案填写到实验报告册中 七、思考与问答(20分) 1、构造函数和析构函数的作用是什么?(4分) 2、属性声明为 public、 private和 protected有啥区别?(4分) 3、抽象类和接口的区别?(4分) 4、OOP的英文全称和中文全称分别是什么?(4分 5、举例说明类的静态属性和静态方法的定义方式和访问方式。(4分) 管理科学与工程学科/共3页第3页
《PHP 动态网站开发》实验指导 / 实验九:面向对象编程 管理科学与工程学科 / 共 3 页,第 3 页 4、克隆对象 (1)定义一个类 Cid,使用克隆的方法在创建一个与其类似的对象。 Cid 类 class Cid{ public $id=1; public function __clone() { $this->id=$this->id+1; }} (2)完成下述任务: 任务一:写出实例化 Cid 的代码,然后再克隆实例化后的对象,并将其进行输出。(10 分) 要求: 请将主要代码填写到实验报告册中。 六、自主实验(20 分) 1、抽象类。 (1)将实验步骤 3 中的接口改为抽象类,实现同样的功能。。 (2)完成下述任务。 任务一:编写代码实现上述中要求(10 分)。 要求: 请将主要代码填写到实验报告册中。 2、列举类的魔术方法。 (1)类的魔术方法有很多,例如 clone,该方法可以克隆出一个类似的对象。 (2)再列举其他三个类的魔术方法,并说明其作用。 (3)完成下述任务。 任务一:按照上面的要求,写出类的魔术方法(10 分)。 要求: 请将答案填写到实验报告册中。 七、思考与问答(20 分) 1、构造函数和析构函数的作用是什么?(4 分) 2、属性声明为 public、private 和 protected 有啥区别?(4 分) 3、抽象类和接口的区别?(4 分) 4、OOP 的英文全称和中文全称分别是什么?(4 分) 5、举例说明类的静态属性和静态方法的定义方式和访问方式。(4 分)