第6章面向对象编程教学设计.docx

上传人:b****8 文档编号:9610400 上传时间:2023-05-20 格式:DOCX 页数:19 大小:23.34KB
下载 相关 举报
第6章面向对象编程教学设计.docx_第1页
第1页 / 共19页
第6章面向对象编程教学设计.docx_第2页
第2页 / 共19页
第6章面向对象编程教学设计.docx_第3页
第3页 / 共19页
第6章面向对象编程教学设计.docx_第4页
第4页 / 共19页
第6章面向对象编程教学设计.docx_第5页
第5页 / 共19页
第6章面向对象编程教学设计.docx_第6页
第6页 / 共19页
第6章面向对象编程教学设计.docx_第7页
第7页 / 共19页
第6章面向对象编程教学设计.docx_第8页
第8页 / 共19页
第6章面向对象编程教学设计.docx_第9页
第9页 / 共19页
第6章面向对象编程教学设计.docx_第10页
第10页 / 共19页
第6章面向对象编程教学设计.docx_第11页
第11页 / 共19页
第6章面向对象编程教学设计.docx_第12页
第12页 / 共19页
第6章面向对象编程教学设计.docx_第13页
第13页 / 共19页
第6章面向对象编程教学设计.docx_第14页
第14页 / 共19页
第6章面向对象编程教学设计.docx_第15页
第15页 / 共19页
第6章面向对象编程教学设计.docx_第16页
第16页 / 共19页
第6章面向对象编程教学设计.docx_第17页
第17页 / 共19页
第6章面向对象编程教学设计.docx_第18页
第18页 / 共19页
第6章面向对象编程教学设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第6章面向对象编程教学设计.docx

《第6章面向对象编程教学设计.docx》由会员分享,可在线阅读,更多相关《第6章面向对象编程教学设计.docx(19页珍藏版)》请在冰点文库上搜索。

第6章面向对象编程教学设计.docx

第6章面向对象编程教学设计

 

传智播客

《PHP网站开发实例教程》

教学设计

 

课程名称PHP网站开发实例教程

授课年级:

2015年级

授课学期:

2015学年第二学期

教师姓名:

某某老师

 

201年月日

课题名称

第6章面向对象编程

计划课时

5课时

内容分析

面向对象是一种符合人类思维习惯的编程思想。

现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。

在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。

PHP作为一种流行的编程语言,同样支持面向对象编程,本章就通过几个案例学习如何使用PHP进行面向对象编程。

教学目标

●理解面向对象思想,能够分析面向对象与面向过程的区别

●掌握类与对象的使用,可以正确定义类并实例化对象

●掌握构造方法与析构方法,能够将其运用到类的定义中

●掌握继承的使用,能够通过继承扩展类的功能

●了解接口与抽象类,能够封装一个简单的接口或抽象类

重点及措施

教学重点:

类与对象的使用,构造方法与析构方法,继承的使用。

措施:

通过上机操作加强学习和测试题进行巩固。

难点及措施

教学难点:

构造方法、静态成员的使用、单例模式、自动加载、继承、多态、魔术方法、抽象类、接口。

措施:

通过上机操作加强学习和课后测试题进行巩固。

教学方式

教学采用教师课堂讲授为主,使用教学PPT讲解。

第一课时

(【案例28】体验类与对象、【案例29】文件上传)

复习上节课内容

在讲解本节内容前,抛出以下问题让学生回答,以复习第三章“PHP操作数据库”的基础知识。

1、请提问上传文件时,使用超全局变量$_FILE获取得文件信息中都包含什么信息?

答案:

文件的名字,文件的大小,文件的临时路径,文件的类型,文件上传是否有错。

说明:

教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。

本课时内容学习

【案例28】体验类与对象

✧案例描述

面向对象思想,就是把所有事物都看做一个独立的对象,每个对象都有自己的方法,通过调用对象的方法来解决问题。

接下来就通过创建一个简单的类来体验什么是类与对象。

✧案例讲解

Ø案例分析

•创建studet.class.php文件,在文件中定义学生类并介绍定义类的语法格式。

•定义成员属性及成员方法,分别介绍成员属性及成员方法的含义。

•根据已有的学生类,创建学生对象,介绍类与对象的关系。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“面向对象的概念”、“类与对象的关系”等。

Ø讲解“面向对象的概念”

(1)、教师阐述面向对象的概念。

(2)、讲解面向对象的特点,并分别给出解释。

1、封装性2、继承性3、多态性

(3)、学生自主提问,教师对疑难问题进行解答。

Ø讲解“类与对象的关系”

(1)、简单阐述类与对象的关系。

(2)、学生自主提问,教师对疑难问题进行解答。

✧阶段小结

Ø小结

重点:

面向对象的思想、面向对象的特点、类与对象的关系。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

【案例29】文件上传类

✧案例描述

文件上传是网站中会被多次使用的功能,例如用户修改信息时,选择上传本地图片以修改头像;录入商品信息时,选择上传商品图片以做展示等。

不论是上传头像还是商品图片,其实现原理是一样的。

因此可以把文件上传功能封装成一个类,当需要使用文件上传功能时,实例化文件上传类,通过调用对象方法来完成文件上传。

✧案例讲解

Ø案例分析

•分析上传文件需要哪些固定参数,将其转换为类的成员属性。

•在类中编写成员方法,实现文件上传的核心功能。

•编写HTML模板文件,提供上传表单,用来测试文件上传类。

•编写处理文件上传的PHP脚本,在该脚本中实例化文件上传类,实现文件上传。

•优化文件上传类,使用构造方法对实例化对象进行初始化操作。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“构造方法”、“析构方法”、“访问修饰限定符”等。

Ø讲解“构造方法”

(1)、讲解什么是构造方法,并阐述构造方法的作用。

(2)、讲解当一个类中存在两个构造方法时执行顺序是什么。

(3)、学生自主提问,教师对疑难问题进行解答。

Ø讲解“析构方法”

(1)、讲解什么是析构方法,并阐述析构方法的作用。

(2)、学生自主提问,教师对疑难问题进行解答。

Ø讲解“访问修饰限定符”

(1)、讲解PHP中访问修饰限定符public、protected和private的作用。

(2)、学生自主提问,教师对疑难问题进行解答。

✧阶段小结

Ø小结

重点:

构造方法的使用、析构方法的使用、访问修饰限定符的使用。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

✧巩固练习

Ø巩固“析构方法”和“访问修饰限定符”

学完知识点后,让学生讲解构造方法的的调用时机。

请学生练习访问修饰限定符的使用方法,了解访问修饰限定符的特性。

Ø通过“补充案例”加强学习

教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。

✧布置作业

Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。

Ø预习6.3节【案例30】静态工具类。

Ø预习6.4节【案例31】数据库操作类。

Ø预习6.5节【案例32】类库自动加载。

Ø复习本章所有知识点和案例,加强巩固。

第二课时

(【案例30】静态工具类、【案例31】数据库操作类、【案例32】类库自动加载)

复习上节课内容

在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。

1、请学生回答在面向对象中,类与对象的关系是什么?

答案:

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。

类用于描述多个对象的共同特征,它是对象的模板。

对象用于描述现实中的个体,它是类的实例。

2、请学生回答访问限定修饰符的作用?

答案:

public:

公有修饰符,类中的成员将没有访问限制,所有的完不成员都可以访问这个类的成员,如果类的成员没有指定访问修饰符,则默认为public。

protected:

保护成员修饰符,被修饰为protected的成员不能被该类的外部成员代码访问,对是对于该类的子类可以对其访问、读写等。

private:

私有修饰符,被定义为private的成员,对于同一个类里的成员是可见的,没有访问限制,但不允许该类的外部代码访问,对于该类的子类同样也不能访问。

说明:

教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。

本课时内容学习

【案例30】静态工具类

✧案例描述

在项目开发中,有些功能可能会频繁使用。

例如,商品添加、删除、修改等操作执行成功或失败时,提示相关信息并跳转到指定页面;需要显示时间时,把时间戳进行格式化输出;显示中文字符串时,按照要求截取指定长度的字符串等等。

这些功能实际上就是一个个函数,但是过多的函数容易导致重名,并且不易于管理。

因此可以声明一个工具类,让这些功能成为工具类的成员方法。

不过一般的成员方法需要通过对象来调用,而这些功能实际上与对象本身并没有太大关联,那么如何不进行实例化而调用这些方法呢。

PHP就提供了静态成员方法来帮助我们解决这类问题,接下来就通过一个静态工具类,来学习静态成员的使用。

✧案例讲解

Ø案例分析

(1)创建静态工具类,封装静态方法。

(2)修改【案例15】,调用工具类的静态方法,完成弹窗跳转功能。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“声明静态成员”、“访问静态成员”等。

Ø讲解“声明静态成员”

(1)、讲解什么是静态成员。

(2)、讲解怎么声明静态成员。

(3)、学生提问,老师对疑难问题进行解答。

Ø讲解“访问静态成员”

(1)、讲解访问静态成员的方法。

(2)、学生提问,老师对疑难问题进行解答。

Ø讲解“类常量”

(1)、讲解定义类常量的方法。

(2)、讲解类常量的命名规则。

(3)、讲解类常量的访问方法。

(4)、学生提问,老师对疑难问题进行解答。

说明:

在操作演示的过程中,鼓励学生自行尝试。

小组之间可以协作讨论,教师对疑难问题进行解答。

✧阶段小结

Ø小结

重点:

声明静态成员、访问静态成员、类常量。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

✧巩固练习

Ø巩固“声明静态成员”、“访问静态成员”、“声明类常量”和“访问类常量”

学完知识点后,让学生练习静态成员的访问,类常量的访问。

Ø通过“补充案例”加强学习

教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。

本课时内容学习

【案例31】数据库操作类

✧案例描述

在网站开发中,对数据库的操作是十分常见的。

在前面的章节,我们通过面向过程的方式,完成了一个数据库操作函数库。

在学习面向对象之后,我们可以再通过面向对象的方式,来封装一个数据库操作类。

✧案例讲解

Ø案例分析

•把数据库连接信息作为成员属性私有化,禁止外部成员访问。

•编写初始化属性方法,用于在不同情况下输入不同的数据库参数。

•编写获取数据库连接方法,根据初始化后的属性获取数据库连接资源。

•编写选择字符集和默认数据库的方法,为操作数据库做前期准备。

•编写构造方法,当实例化对象时自动调用各方法,达到初始化数据库对象的目的。

•编写SQL语句执行方法,主要提供在执行失败时的错误信息。

•编写处理数据的方法,用于从结果集中获取查询结果。

•编写安全转义方法,将可能影响SQL语句执行的特殊字符进行转义。

•修改数据库操作类,限制脚本实例化多个数据库对象。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“单例模式”、“对象的克隆”等。

Ø讲解“单例模式”

(1)、介绍什么是单例模式。

(2)、学生提问,老师对疑难问题进行解答。

Ø讲解“对象的克隆”

(1)、介绍对象克隆的方法。

(2)、讲解__clone的使用方法。

(3)、学生提问,老师对疑难问题进行解答。

说明:

在系统安装完成后,查看学生安装状况。

并让小组之间协作讨论,对小组的疑难问题进行解答。

✧阶段小结

Ø小结

重点:

单例模式,对象的克隆。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

✧巩固练习

Ø巩固“单例模式”

学完知识点后,让学生练习单例模式。

Ø通过“补充案例”加强学习

教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。

本课时内容学习

【案例32】类库的自动加载

✧案例描述

在业务需求越来越复杂的情况下,一个脚本中需要加载的类文件也会越来越多。

例如,当一个程序需要实例化100个类时,就需要用include或require引入100个类文件,或者把100个类定义在一个文件中,这两种方法都有局限性。

那么有没有一种方法,可以在实例化对象时,自动找到类文件进行加载呢,PHP提供的__autoload()方法就帮助我们解决了这个问题。

✧案例讲解

Ø案例分析

•定义__autoload()方法,实现简单的自动加载。

•为测试自动加载功能,定义两个类文件。

•编写PHP脚本,在不包含类文件的情况下,实例化类对象。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“自动加载”、“更灵活的自动加载”等。

Ø讲解“自动加载”

(1)、认识魔术方法__autoload()。

(2)、学生提问,老师对疑难问题进行解答。

Ø讲解“更灵活的自动加载”

(1)、讲解更灵活自动加载的函数“spl_autoload_register()”。

(2)、学生提问,老师对疑难问题进行解答。

说明:

在老师演示完成后,查看学生的理解状况。

并让小组之间协作讨论,对小组的疑难问题进行解答。

✧阶段小结

Ø小结

重点:

自动加载,更灵活的自动加载。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

✧巩固练习

Ø巩固“自动加载”、“更灵活的自动加载”

学完知识点后,让学生通过案例来练习自动加载技术的应用,并着重练习更灵活的自动加载。

Ø通过“补充案例”加强学习

教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。

✧布置作业

Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。

Ø复习前面学过的知识点和案例,加强巩固。

第三课时

(【案例33】模型类、【案例34】抽象类和接口)

复习上节课内容

在讲解本节内容前,抛出以下问题让学生回答,以复习上节课内容。

1、类中怎么声明静态成员属性和静态成员方法?

答案:

在变量或者方法前使用static关键字指定成员的类型。

2、使用单例模式的目的是什么?

答案:

单例模式是PHP中的一种设计模式,它是指在设计一个类时,需要保证在整个程序运行期间针对该类只存在一个实例对象。

3、自动加载的工作机制是什么样的?

当需要类定义文件而没有找到时,会自动的调用__autoload()函数实现文件的自动加载,它不局限于实例化对象,还包括继承,序列化操作。

说明:

教师可根据学生对上述问题的回答情况,对以上问题进行简单讲解或直接进入本课时新内容的学习。

本课时内容学习

【案例33】模型类

✧案例描述

WEB项目的所有功能,基本上都是围绕数据库的增、删、改、查来实现的。

虽然我们已经封装了数据库操作类,能够快捷的实现数据的增删改查,但仍然需要自己组合数据,创建SQL语句。

在项目中,通常把处理数据的类文件称为模型(Model)类,模型类的作用是根据业务逻辑针对某张表进行数据处理,而且模型类名通常直接反映了要操作的数据表。

例如empModel.class.php文件就是针对emp表的数据处理,goodsModel.class.php文件就是针对goods表的数据处理。

而这些模型类文件有些功能是相同的,因此可以这些相同的部分,抽取到同一个类文件中,这个类文件就称为基础模型类。

下面就来创建模型类与基础模型类。

✧案例讲解

Ø案例分析

•创建library目录,将数据库操作类放入该目录中。

•创建init.php文件,实现自动加载和实例化模型类。

•在library目录下创建Model.class.php文件,获取数据库连接。

•设置tableName属性,用于保存获取的数据表名。

•编写获取查询字段的方法,用来保存指定字段以便查询。

•编写解析查询字段的方法,用来组合SELECT语句的查询字段。

•编写查询方法,根据字段和表名生成相关SQL语句并执行。

•设置data属性,用来保存要添加的数据信息。

•编写解析数据的方法,用来组合INSERT语句的字段和数据部分。

•编写添加数据的方法,根据字段、数据和表名生成相关SQL语句并执行。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“继承”、“多态”等。

Ø讲解“继承”

(1)、讲解继承的含义。

(2)、讲解如何通过使用extends关键字实现继承。

(3)、学生提问,老师对疑难问题进行解答。

Ø讲解“多态”

(1)、讲解多态的含义。

(2)、讲解多态实现的方法“重写”。

(3)、学生提问,老师对疑难问题进行解答。

Ø讲解“final关键字”

(1)、讲解final关键字的作用。

(2)、讲解final关键字的使用方法。

(3)、学生提问,老师对疑难问题进行解答。

Ø讲解“魔术方法”

(1)、介绍PHP常用的魔术方法。

(2)、介绍PHP魔术方法的特点。

(3)、详细讲解魔术方法__get()。

(4)、详细讲解魔术方法__set()。

(5)、学生提问,老师对疑难问题进行解答。

说明:

在操作演示的过程中,鼓励学生自行尝试。

小组之间可以协作讨论,教师对疑难问题进行解答。

✧阶段小结

Ø小结

重点:

继承、多态、final关键字、魔术方法。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

✧巩固练习

Ø巩固“继承”、“多态”、“final关键字”和魔术方法

学完知识点后,让学生练习继承、多态、final关键字、魔术方法。

Ø通过“补充案例”加强学习

教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。

本课时内容学习

【案例34】抽象类与接口

✧案例描述

在项目开发中,通常类的基础属性和方法都是由项目负责人进行编写的。

其他人在编写相关类的时候,都需要通过继承这些类来获取基础属性和方法。

虽然可以通过会议规定开发流程,但是如果能够从代码上来实现硬性控制更为方便。

在PHP中可以通过abstract关键字声明抽象类,来实现上述需求。

有时候我们希望一个类必须具有某些公共方法,此时就可以使用接口技术。

接下来就通过两个简单的例子演示抽象类和接口的使用。

✧案例讲解

Ø案例分析

•创建抽象类goods类,定义一个抽象方法和一个final方法。

•创建book类,继承goods类,实现goods类的抽象方法。

•创建phone类,继承goods类,实现goods类的抽象方法。

•定义接口,通过接口规定类必须要具有的公共方法。

•创建类文件,来实现接口。

Ø案例实现

教师带领学生分步骤地进行操作,并指出其中需要注意的事项。

说明:

在案例讲解的过程中,教师可适时停下来,让学生自行尝试。

小组之间可以协作讨论,教师巡视,对疑难问题进行解答。

✧知识点讲解

Ø总结知识点

教师和学生一起总结在案例中涉及到的知识点,主要包括“抽象类”、“接口”等。

Ø讲解“抽象类”

(1)、介绍抽象类的特性。

(2)、学生提问,老师对疑难问题进行解答。

Ø讲解“接口”

(1)、介绍定义接口的方法。

(2)、讲解接口的特性。

(3)、讲解如何实现接口。

(4)、讲解一个类实现多个接口的方法。

(5)、学生提问,老师对疑难问题进行解答。

说明:

在系统安装完成后,查看学生安装状况。

并让小组之间协作讨论,对小组的疑难问题进行解答。

✧阶段小结

Ø小结

重点:

抽象类,接口。

Ø答疑

教师询问学生对于知识点还有什么不理解的地方。

针对学生不理解的知识点给与解释。

✧巩固练习

Ø巩固“抽象类”和“接口”

学完知识点后,让学生练习抽象类和接口。

Ø通过“补充案例”加强学习

教师分发测试题目及案例素材给学生,对于掌握较好的同学,可以通过补充案例对相关知识点进行巩固。

✧布置作业

Ø完成“补充案例”,通过平台提交给教师,教师下节课进行点评。

Ø复习前面学过的知识点和案例,加强巩固。

第四课时、第五课时

(上机测试)

教师发放测试题目及案例素材,学生进行上机测试。

以此检查学生对相关知识点的掌握情况。

测试完成后将作品通过平台提交给老师。

上机测试主要针对本章中需要重点掌握的知识点,以及在代码中容易出

错的操作步骤。

(作品点评)

教师对学生提交的上机测试作品进行点评,指出代码中容易出现bug的地方,并给与解答。

✧布置作业

Ø完成课后“动手实践”,并扫描二维码查看答案。

预习7.1节【案例35】PDO的基本使用

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2