阵列对象教案

2024-04-23

阵列对象教案(通用6篇)

篇1:阵列对象教案

课题:

象 教学目的:

1、知识目标:通过本课学习让同学们学会阵列命令,并能分析图形应用阵列命令

2、技能目标:熟练掌握阵列命令并应用阵列命令快速绘图

3、情感目标:通过学习,应用命令由学生自己动手绘图,培养他们的动手能力和分析能力,激发他们的兴趣。

教学重点:

阵列的类型:矩形阵列(对象的选择,行偏移,列偏移,阵列角度)环形阵列(对象选择,中心点的选择,填充度数,项目总数)

教学难点:

1、2、矩形阵列的行偏移,列偏移 环形阵列的中心点的选择

课型:新课

课时:1课时

教具:计算机 多媒体

教学方式:知识讲解→演示练习→强化知识点→学生练习

教学过程:

课程导入: 复习复制命令(操作练习:复习画一个教室的课桌:横4行,竖5列,共20张课桌。课桌用矩形为来表示,长20mm宽为10mm)思考:用复制命令画较多的图形显得繁琐,可不可以用更简单的方法来完成这个图形。(软件绘图区只留一个长20mm宽为10mm的矩形)

引入阵列命令

教学内容:

阵列是CAD命令中的一种, 图案复制对象,并创建一个阵列。在创建矩形阵列时,通过指定行、列的数量及其间距,就可以控制阵列中副本的数量。在创建环形阵列时,通过指定中心点及阵列个数、填充度数就可得到阵列图形。

一、(打开CAD软件)激活阵列命令方式:菜单栏→修改→阵列(阵列命令对话框,矩形阵列和环形阵列两个选项,只能选择一个)

1、(1)矩形阵列:

阵列对象的选择:单击“选择对象”图标,拾取需要阵列的对象(边长为20mm宽为10mm的矩形)

(2)

行偏移:结合PPT演示讲解。给出图形让学生猜哪一个是行偏移,然后给出结果:行偏

移指的是从第一行的第一边到第二行第一边的距离(如图标注15mm)

(3)

列偏移:结合PPT演示讲解。给出图形让学生猜哪一个是列偏移,然后给出结果:列偏移指的是从第一列的第一边到第二列第一边的距离(如图标注25mm)

(4)

先用软件给学生示范20张课桌的画法,然后让学生自己根据讲解步骤操作25张课桌呈阵列排列,行偏移为20列偏移为25。

2、环形阵列(用吃饭的圆桌举例,先画桌子R=25mm的大圆,再画一个R=5mm的小圆,用阵列命令来画桌子周围的凳子也就是小圆)(1)

阵列对象的选择:单击“选择对象”图标,拾取需要阵列的对象(R=5mm的小圆)

(2)(3)(4)(5)

中心点的选择:大圆的圆心 填充数目:输入10 填充度数:输入360° 示范操作,学生操作

二、操作练习(给出图形)

1、分析图形结构及画法:该图是由一个边长为30的正方形以A为中心点(填充度数为360°填充数目为4)的环形阵列

2、练习

三、总结:本节课主要讲阵列命令,它的的优点就是可以很快的绘图可以节约时间,加快绘图的速度,但是必须要同学们熟练掌握阵列的两个操作命令,其中要注意矩形阵列的行偏移和列偏移两个量的掌握。环形阵列中心点的选择。

四、作业:请同学在生活中找一个可以应用阵列命令的例子,并绘图

篇2:阵列对象教案

校 本 研 修 教 案

授课老师:江 波 授课时间:2011年10月25日

教学内容:实体对象阵列

教学目标:

1、掌握阵列命令的调用方法

2、理解阵列命令中个参数的含义

3、能灵活应用阵列命令进行绘图 教学重点:

1、环形、矩形阵列中个参数的含义

2、应用阵列命令进行绘图 教学难点:环形、矩形阵列中个参数的含义 教学方法:讲授法、演示法 授课课时:1课时 授课班级:10秋机械 教学设计:

【问题引入】

通过前面的知识我们可以知道,如果我们用圆,那么我们可以调用圆的命令,然后输入半径或是直径就可以画出来。们看看下面两幅图,想想能不能根据前面的知识画出来?

软件绘制一个已知尺寸的请同学

CAD

一、阵列命令功能及分类

阵列是AutoCAD复制的一种形式,在进行有规律的多重复制时,阵列往往比单纯的复制更有优势。在AUTOCAD中,阵列分为最基本的两种:矩形阵列和环形阵列。环形阵列有可分为实体旋转和实体不旋转两种情况。

矩形阵列阵列:

环形阵列

二、阵列命令的调用方法

(1)单击“修改”工具栏上的“阵列”按钮

(2)菜单“修改”——“阵列”

(3)命令行输入命令:_array,最后都能打开“阵列”对话框

三、环形阵列的选项和步骤

<一>矩形阵列:进入对话框后,选择“矩形阵列”单选选项,如图。

对话框参数:

1.行/列 2.选择对象 3.偏移距离和方向 2)阵列角度

<二>环形阵列:如先画一个圆,再画圆内一条半径

小结

1、阵列出来的各个对象都是独立的,而不是一个整体,可以单独进行编辑。

2、阵列是一种高效实用的复制方法,掌握上述选项和方法,并加以熟悉应用,会给我们的绘图带来很多方便。

作业

5、按图4-

6、图4-

7、图4-8作阵列命令练习。

图4-6

图4-8 

4-7

篇3:JSP内置对象讲解教案

在JSP中预先定义好了一些常用的对象,在Web应用中可以直接使用这些对象。内置对象的应用大大简化了Web开发工作。

5.1 JSP内置对象概述

因为java是区分大小写的,所以在JSP中对象名要注意字母的大小写。

JSP内置对象有9个  request对象  response对象  out对象  session对象  application对象  exception对象  page对象

 pageContext对象  config对象

5.2 request对象

 request对象用于接收客户端通过HTTP协议传送给服务器端的数据。

 而response对象主要用来向客户发送信息,它包含了Web服务器对客户的响应信息。

 request和response对象是JSP中很重要的两个内置对象,是实现客户端和服务器交互的基础。

5.2.1 request对象的功能

 request对象用来接收客户端提交的请求

例如:接收用户提交的表单信息

在xxx.jsp文件中需要用request对象接收表单信息。request对象用的比较多的方法是getParameter()方法

5.2.2 getParameter方法

 request对象的getParameter()方法根据指定的参数,获取客户端提交的信息。 其语法规则如下:

<% String name=request.getParameter(“txtName”)%>

其中,name是一个字符串变量。txtName是客户端提交信息中的一个字段名。

5.2.3获取客户提交信息案例 【例5.1】 request对象应用。

 提交页面上有两个文本框,在文本框中输入姓名和电话号码,单击“提交”按钮后,由服务器端应用程序接收提交的表单信息并显示出来。

 其中的infoInput.html为用户的输入页面,提交的信息由服务器端的文件infoReceive.jsp接收并显示。

infoInput.html页面主要代码:

姓名:


电话:


infoReceive.jsp代码

<% String str1=request.getParameter(“RdName”);%> <% String str2=request.getParameter(“PhName”);%> 您输入的信息为:
姓名: <%=str1%>

电话: <%=str2%>
5.2.4 request对象常用方法

 在客户访问页面时,向服务器的JSP引擎提交一个HTTP请求,该请求包含一个请求行、主机头和上载信息。例如:

◦ POST /chapt5/infoReceive.jsp HTTP/1.1

//请求行 ◦ Host localhost

//头,host是头名字

 request对象也提供了一些其他方法,用来获得客户传来信息的其他部分。 request对象常用方法:

1.getProtocol():获取客户端向服务器端传送数据所使用的协议名称和版本号 2.getServerName():获得服务器的名字

3.getServerPort():获得服务器所使用的端口号。4.getRemoteAddr():获得客户端的IP地址。

5.getRemoteHost():获得客户端主机的名字,若失败,则返回客户端的IP地址。6.getMethod():返回客户端向服务器端传送数据的方法,一般方法为get或post。

7.getCookies():返回客户端的cookie对象,结果是一个cookie数组。如果客户端没有发送cookie,则返回空值。

8.getSession(boolean create):返回和当前客户端请求相关联的HttpSession对象,如果当前客户端请求没有和任何HttpSession对象关联,那么当create变量为true,则创建一个HttpSession对象并返回;反之,返回null。9.getHeader(String name):获得http协议定义的传送文件头信息。

10.getAttribute(String name):返回name指定的属性值,若不存在指定的属性,就返回null。

11.getAttributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例。12.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例。

13.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例。

14.getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。通常是表单中的参数.15.getParameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。

16.getParameterValues(String name):以字符串数组的形式返回指定参数所有值。

17.getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。18.getRequestURI():获得发出请求字符串的客户端地址

19.getServletPath():获得客户端所请求的脚本文件的文件路径。

20.setAttribute(String name,Java.lang.Object o):设定名字为name的request参数值,该值由Object类型的o指定。

21.getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。22.getContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。23.getInputStream():以二进制的形式将客户端的请求以一个ServletInputStream的形式返回。使用此方法可以获得客户端的multipart/form-data数据,可以实现文件上传。

24.isSecure():如果客户机是通过一个安全的访问方式访问的,就返回true;反之,返回false。25.getDateHeader():返回一个long类型的数据,表示客户端发送到服务器的头信息中的时间信息。26.getInitHeader():获取客户端发送到服务器端的头信息中的某一个特定的信息,并转换为int类型。27.getContextPath():返回环境路径.对于JSP来说,一般是当前Web应用程序的根目录。

28.isRequestedSessionIdValid():返回一个指示客户端请求发送Session ID是否仍然有效的布尔值。

29.isRequestedSessionIdFromCookie():返回一个指示客户端请求发送Session ID是否存在于Cookie中的布尔值。

30.isRequestedSessionIdFromURL():返回一个指示客户端请求发送Session ID是否存在于URL中的布尔值。

5.2.5 request对象常用方法应用案例

【例5.2】 使用request对象的常用方法,获取客户端提交信息的不同部分。

本例中的用户输入页面infoInput2.html只需要把例5.1的文件infoInput.html的form的action属性值改为infoReceive2.jsp即可。infoReceive2.jsp主要代码

<%

out.println(“姓名文本框提交信息:” + request.getParameter(“RdName”)+ “
”);out.println(“电话文本框提交信息:” + request.getParameter(“PhName”)+ “
”);out.println(“客户端协议名和版本号:” + request.getProtocol()+ “
”);out.println(“客户机名:” + request.getRemoteHost()+ “
”);out.println(“客户机的IP地址:” + request.getRemoteAddr()+ “
”);out.println(“客户提交信息的长度:” + request.getContentLength()+ “
”);

%> out.println(“---------
”);

out.println(“getContextPath:” +request.getContextPath()+ “
”);out.println(“requestURI=” + request.getRequestURI()+ “
”);out.println(“requestURL=” + request.getRequestURL()+ “
”);out.println(“servletPath=” + request.getServletPath()+ “
”);// getServletPath 不建议使用 因为当servlet映射成/*时 无法获得

String uri = request.getRequestURI();String servletPath = uri.substring(request.getContextPath().length());out.println(“servletPath=” + servletPath + “
”);总结:

request.getRequestURI()与request.getRequestURL()与request.getServletPath()区别

a)getRequestURI()获得的信息:/day6/servlet/RequestServlet b)getRequestURL()获得的信息:http://localhost/day6/servlet/RequestServlet c)getServletPath()获得的信息: servlet/RequestServlet

getServletPath 不建议使用

因为当servlet映射成/*时 无法获得。

d)request.getContextPath()获得的信息: /day6

那如何获取serverpath String uri = request.getRequestURI();

// /day06aaa/servlet/RequestDemo1

String servletPath = uri.substring(request.getContextPath().length());

System.out.println(“servletPath=” + servletPath);5.3 response对象

◦ ◦ 把服务器端的数据以HTTP的格式发送到客户端浏览器 它的功能和request对象的功能相反

 request对象用于得到用户提交的信息  而response对象是向用户发送信息

 两者结合起来完成动态页面的交互功能。

5.3.1 response对象的功能

 response对象提供的几种输出结果的主要方法:

◦ sendRedirect():页面重定向方法。◦ setStatus():设置状态行方法。

◦ setContentType():设置文本类型方法。

5.3.2 sendRedirect()方法

 将客户端浏览器转向新的页面,页面中重定向语句后的代码不再被执行。 它可以根据用户的不同要求转向不同的页面。 例如:防盗链。(第3章 http协议中讲解)

【例5-3】response对象的使用。

 用户在登录界面输入用户名和密码,提交后验证登录者输入的用户名和密码是否正确,根据判断结果转向不同的页面。

◦ 其中userLogin.html为用户输入界面

◦ userReceive.jsp为接收用户输入信息并判断输入是否正确页面

◦ loginCorrect.html和loginError.html分别为登录成功界面和登录失败界面。

userLogin.html页面主要代码:

姓 名:
密 码:

userReceive.jsp页面源代码:

<% String Name = request.getParameter(“RdName”);String Passwd = request.getParameter(“RdPasswd”);if(Name.equals(“Mary”)&& Passwd.equals(“123456”))

response.sendRedirect(“loginCorrect.html”);else

response.sendRedirect(“loginError.html”);%>

 需要注意的是,在实际的Web开发中,用户的信息保存在数据库中,判断用户登录时所输入的用户名和密码是否正确需要连接到数据库,和数据库中的数据进行匹配。此处为了演示sendRedirect方法的使用,简单的和常量进行比较。

5.3.3 response的状态行

1.状态行的作用

当页面出现错误时,服务器会自动响应,将相应的出错信息返回客户端。状态行包含3位数字的状态代码,代表错误的性质和处理方法。共有5类状态码,如下:

1XX(1开头的3位数):主要是实验性质的。例如101表示服务器正在升级协议。

2XX:表示请求成功。如200表示请求成功。

3XX:表示在请求满足之前应采取的进一步行动。如302请求重定向; 305表示请求必须通过代理来访问。

4XX:浏览器不能满足请求时,返回的状态码。如404表示请求的页面不存在。

5XX:服务器执行出现错误时,返回的状态码。如500表示服务器内部发生错误,不能服务。

2.setStatus()方法

程序中可以使用response对象的setStatus()方法设置状态码。在一般情况下,不需要在程序中设置状态码。页面出现问题时,服务器会自动响应,并发送相应的状态码提示用户。

 使用response.setStatus(int n)方法设置状态行

◦ 例如response.setStatus(501)取得错误信息为501的出错信息,返回该出错页面到客户端。◦ 如果状态代码为出错码,页面中 response.setStatus()后面的语句将不被执行。

[例5-4]状态行的应用

本例包含4个文件 : StatueCode.html

responde对象状态行应用案例

显示不同的状态行


href=“statusCode200.jsp”>200请求成功信息


404请求资源不可用信息


501不支持请求的部分功能

篇4:java面向对象程序设计教案

主讲教师:熊春秀 编写时间:2011-4-30

第一章:概述

第 1、2 节:面向对象的基本概念、面向对象程序设计概述 授课时间:2011-2-

22、23

计划学时数:1 教学任务与目的:让学生理解面向对象的基本概念 教学重点:掌握面向对象的基本概念 教学难点:理解面向对象程序设计的方法 教学方法:多媒体+板书 参考书目:《面向对象程序设计导论》,[美]C.Thomas wu著,电子工业出版社 专业词汇:Java虚拟机、Applet程序 备注

第二章:Java特点及运行环境

第 1、2、3 节:Java语言特点、Java应用程序及运行环境、Java Applet程序及运行环境 授课时间:2011-2-

22、23

计划学时数:3 教学任务与目的:让学生学会JDK的下载、安装与环境配置。教学重点:掌握编译和执行Java程序的基本步骤

教学难点:理解Java程序的入口并能够通过命令行传递参数 教学方法:多媒体+板书 参考书目:《面向对象程序设计导论》,[美]C.Thomas wu著,电子工业出版社 专业词汇:JDK、lib、bin 备注 第三章:Java语言基础

第 1、2 节:Java程序的构成、数据类型、表达式以及流程控制语句 授课时间:2011-3-

1、2

计划学时数:3 教学任务与目的:让学生学会Java基本的数据类型和表示方法、数值类型的运算、逻辑运算和比较、条件执行语句(包括三种条件语句和switch语句)、循环控制语句(包括for、while、do while循环及相应的辅助语句)、字符串类String和BufferString以及数组的声明及使用。

教学重点:掌握Java基本的数据类型和表示方法

教学难点:理解Java程序的循环控制语句(包括for、while、do while循环及相应的辅助语句)

教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社 专业词汇:变量、数据类型、循环控制语句 备注 第三章:Java语言基础 第 3 节:Java与C比较

授课时间:2011-3-

8、9

计划学时数:3 教学任务与目的:让学生在C语言的基本上进一步学习Java语言。教学重点:掌握Java语言与C语言的区别与联系。教学难点:理解Java语言在C语言上的改进。教学方法:多媒体+板书 参考书目:《Java2参考大全(第四版)》,[美]Herbert Schildt著,张玉清、吴浦峰、尚勇等译,清华大学出版社。专业词汇:Java、C 备注 第四章:抽象、封装与类

第 1 节:抽象、封装与Java类的概念

授课时间:2011-3-

15、16

计划学时数:3 教学任务与目的:让学生学会面向对象的基本特征、掌握如何定义一个类以及如何生成对象、深入掌握方法的定义及技巧、深入掌握类的访问权限与封装机制、深入掌握包的定义与包的使用方法。

教学重点:掌握类的定义与对象的生成。教学难点:理解类的抽象与封装机制。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:抽象、封装、类 备注 第四章:抽象、封装与类 第 2 节:系统定义的类

授课时间:2011-3-

22、23

计划学时数:3 教学任务与目的:让学生学会使用系统定义的类,并掌握与用户自定义类的区别。教学重点:掌握如何定义所需要的类。

教学难点:熟悉Java平台定义了哪些经常要用到、而且满足我们需要的类。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:系统定义的类、用户自定义类 备注 第四章:抽象、封装与类

第 3 节:类、域和方法的修饰符

授课时间:2011-3-

29、30

计划学时数:3 教学任务与目的:让学生学会类的声明。

教学重点:掌握如何定义类的修饰和方法的修饰符。教学难点:熟悉类的变量的定义与使用方法。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:成员变量、类变量、成员方法、类方法 备注 第五章:继承与多态

第 1、2 节:Java的继承与派生、域的继承与隐藏 授课时间:2011-4-

5、6

计划学时数:3 教学任务与目的:让学生全面掌握面向对象的基本特征、掌握如何使用继承性来到达软件的重用、深入掌握继承过程中域的隐藏和方法的覆盖技巧。教学重点:掌握如何使用继承性来到达软件的重用。教学难点:熟悉继承过程中域的隐藏和方法的覆盖技巧。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:继承派生、域、隐藏 备注 第五章:继承与多态

第 3、4 节:方法的继承、重载与覆盖、this与super、构造函数的继承与重载 授课时间:2011-4-

12、13

计划学时数:3 教学任务与目的:让学生通过继承可以更有效地组织程序结构,明确类之间的关系,并充分利用已有的类来创建新类,通过继承可以实现代码的重用,以完成更复杂的设计、开发。教学重点:掌握类的重载与覆盖的区别与联系。教学难点:熟悉类的重载与覆盖使用方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:继承、重载、覆盖、this、super 备注 第五章:继承与多态

第 5、6 节:多态性的实现、接口声明与实现 授课时间:2011-4-

19、20

计划学时数:3 教学任务与目的:让学生深入掌握抽象类和抽象方法的定义,掌握多态通过统一多个相关类的对外接口,在运行时根据不同的情况执行不同的操作,提高类的抽象度和灵活性,深入掌握接口的定义和使用技巧。

教学重点:熟悉多态性实现的两种方式以及接口的实现。教学难点:熟悉多态性与接口的实现方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:多态性、接口 备注 第六章:工具类与算法

第 1、2 节:语言基础类库、Applet类与小程序的基本原理 授课时间:2011-4-

26、27

计划学时数:3 教学任务与目的:深入了解Applet生命周期的主要方法和特点、熟练掌握Applet程序的编写方法、深入了解Applet的安全机制及其合理运用。教学重点:熟练掌握Applet程序的编写方法。

教学难点:深入了解Applet的安全机制及其合理运用。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:Applet、生命周期 备注 第六章:工具类与算法

第 3、4 节:数组、字符串、常用算法

授课时间:2011-5-

3、4

计划学时数:3 教学任务与目的:让学生学会字符串类String和BufferString、数组的声明及使用。教学重点:熟练掌握字符串与数组的使用方法。教学难点:深入了解数组的使用方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:数组、字符串 备注 第七章:用户图形界面的设计

第 1、2 节:用户自定义成分、事件驱动设计 授课时间:2011-5-

10、11

计划学时数:3 教学任务与目的:让学生学会使用面向对象的程序设计方法构建图形用户界面、深入了解抽象窗口工具包(AWT)、掌握事件处理基本原理和方法。教学重点:熟练掌握图形用户界面的开发方法。教学难点:深入了解图形界面的各种事件。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:AWT、GUI 备注 第七章:用户图形界面的设计

第 3、4 节:GUI对象,包括:按钮、文本框、鼠标、键盘等事件的处理、布局设计 授课时间:2011-5-

17、18

计划学时数:3 教学任务与目的:让学生深入了解GUI构件及掌握布局控制方法、熟练掌握菜单和对话框、掌握简单绘图方法。

教学重点:熟练使用Java语言提供的布局管理器来管理组件在容器中的布局。教学难点:深入了解组件在程序中安排中位置和大小使用方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:布局管理器、容器 备注 第八章:Java高级编程

第 1、2、3节:异常处理、多线程机制、Java程序对网上资源的访问 授课时间:2011-5-

24、25

篇5:公开课教案:设置对象的动画效果

2011年11月24日

学情分析

通过前期的信息技术学习,学生已经具备了一定的计算机操作能力,而且对PowerPoint2003软件也比较熟悉。为了让学生能够顺利的完成任务,获得成就感,并有所创新,因此在课前准备了充足的学习资源。

教学目标

1、知识与技能:通过利用自学资源,自主学习,加工半成品,按要求完成多媒体作品中对象动画效果的设置。掌握自定义动画中各对象的进出效果、播放的开始方式、播放顺序以及幻灯片切换等动画效果的设置方法。

2、过程与方法:通过对教学任务的实践与拓展,理解不同功能选项的意义和适用范围,提高学生的自主设计能力。

3、情感、态度与价值观:激发学生学习PowerPoint2003的兴趣,提高他们对多媒体作品的赏析能力和自学能力。

教学重点和难点 重点:

1.自定义动画中“添加效果”的设置及选项分析; 2.自定义动画中各对象“播放顺序”的设置及分析; 3.幻灯片切换的应用

难点:理解不同功能选项的意义和适用范围,提高学生的自主设计能力

教具和教学手段

教 具:教学课件、学生自学资源、半成品素材、多媒体网络教室 教学手段:任务驱动法、演示讲授法、自主探究法

教 学 过 程

一、课题导入:

教师:上课前我们先做个小测试,考考大家的眼力。观察屏幕上这个演示文稿由几张幻灯片组成?(直接播放幻灯片“教学演示”)

学生:……

教师:同学们各持己见,咱们眼见为实,打开演示文稿看一看:这个演示文稿只有一张幻灯片,那么它的奥秘在哪里呢?我们右击图片—在“快捷菜单”中单击“自定义动画”命令,就会发现它的奥秘啦!“自定义动画”扮演了导演的角色,它决定了文字、图片等各种对象的进出效果,今天也让我们来当一回导演,给多媒体作品“苏州园林”的各个对象设置合适的动画效果。

(设计意图:营造积极活跃的课堂氛围。通过设问激发学生学习新知识的兴趣。引入“自定义动画”。)

二、自主学习:

教师:下面请大家打开桌面上的学习网页和“苏州园林”,完成任务一。任务一:请给演示文稿的文本对象设置合适的进入效果 学生任务:根据学习资源,完成任务一。

教师巡视:根据学生完成任务情况,与学生进行交流,解决学生碰到的问题。总结规律性问题——设置自定义动画的步骤:选定对象----设定效果(调整)----预览效果----确定,并作适当讲解。

学生操作演示 教师适时提问点评:

为了使同一个页面中的对象在播放时按照一定的顺序依次播放,需要设置这些对象的播放顺序和开始方式:

1.对象开始单击时、之前、之后有什么区别?

“单击时”表示鼠标单击后,出现这个动画效果,“之前”表示这个动画与上一个动画同时进行,“之后”表示这个动画发生在上一个动画完成之后。

2.动画对象的出场顺序是否合理?

在“自定义动画”任务窗格中,选中要改变出场顺序的对象,然后单击“重新排序”的左右两边的箭头,即可重新设置对象的出场顺序。

(设计意图:首先,让学生通过任务驱动下的自主操作了解各选项,然后有针对性地进行讲解,提高学生能力。)

教师:如果你是导演,你觉得你的“演员”的出场顺序和方式合理吗?不合理的话,怎么改变呢?

任务二:请调整文本对象的播放顺序,并尝试将几个对象设置成连续呈现的方式。

学生任务:根据学习资源,完成任务二。

教师巡视:根据学生完成任务情况,与学生进行交流,解决学生碰到的问题。总结规律性问题,作适当讲解。

学生操作演示

教师:如果一张幻灯片中对象过多的话,不易于操作与管理,从而引入任务三:请给“拙政园”页面上叠加在一起的图片设置合适的进出效果和适当的播放顺序。

学生任务:根据学习资源,完成任务三

教师巡视:根据学生完成任务情况,与学生进行交流,解决学生碰到的问题。总结规律性问题,作适当讲解。

学生操作演示

注意点:利用“叠放次序”命令调整图片的顺序 教师根据学生的完成情况,适时提出问题::

如果要使得首页的背景音乐在整个多媒体作品播放过程中连续播放,该如何设置?(提高任务)

教师适时总结制作“自定义动画”的一般步骤,鼓励学生尝试制作拓展任务,引导学生积极尝试制作拓展任务:

1.尝试设置幻灯片的切换效果,使其连续自动播放。2.尝试利用“动作路径”设置“太阳东升西落”的动画效果 学生:尝试制作拓展任务。

(设计意图:拓展的尝试无论成功与否,可引导学生有目的性地制作动画效果。)

三、师生点评:展示学生作品,教师和学生一起分析、评价、打分

四、课堂小结:

本节课我们一起学习了“设置对象的动画效果”的方法,大家表现的都很不错。通过本节课的学习我们了解到:

设置对象的动画效果的一般步骤:选定对象----设定效果(调整开始方式、属性、速度和播放顺序等)----预览效果----确定

PPT动画:简单、容易上手,适合初级学习者制作一些“讲义式”、“幻灯片式”的课件,但缺乏各种特殊效果,交互性不强。

Flash动画:声色俱佳、交互性强、效果丰富,但技术要求较高。大家以后可根据自己的需要来继续学习有关动画制作的内容。

教学反思:

本节课要求学生尝试运用已学过的知识,通过自主动手实践,体验感知,评价交流等研究、探索的自学方式进行学习。在设计演示文稿的过程中,进一步丰

富美化演示文稿,将所输入的内容动起来.在这一节课的教学中,体现了 “ 以学生为主体 ”,学生在课堂上不仅学到了知识,而且主动参与、积极思考,通过集体发现自己的力量,体会到学习的乐趣。

篇6:阵列对象教案

8.1 介绍(Introduction)

虽然我们已经学过了Java基础知识,如选择,循环,方法和数组,但这些Java的特征对于我们开发图形用户接口和大规模的软件系统还远远不够。假设我们想开发如图所示的GUI(goo-ee),我们如何编写?

从这章开始我们开始介绍面向对象编程,方便我们开发Gui和大规范软件系统。8.2 定义类为Object类型

面向对象编程(Object-Oriented Programming OOP)就是利用对象进行编写。对象object代表现实世界中独一无二的一个实体。如,一个学生,一张桌子,一个按钮,甚至一个贷款都可以被看着是对象。一个对象有它自己独有的特征,状态和行为。

1.2.对象的状态(也称属性或特征)用包含当时数据的数据字段来表示。如一个圆对象,有半径这个数据字段,它就是圆的特征和属性。一个矩形有高和宽两个特征,作为矩形对象的2个字段。对象的行为(也称动作或操作)通过方法定义。对象调用方法就是高手这个对象要执行一个动作。

如可以为圆对象定义一个getArea()方法,那么圆对象调用getArea()方法来返回圆的面积。

我们可以用一个普通的类来定义一个同类型的对象。一个类就是一个模板,一个蓝图或合同,它们定义一个对象的数据字段和方法。对象就是这个类的实例。我们可以为类创建若干个对象,创建对象就是所谓的实例化。对象和实例经常相互交叉。类和对象的关系就像是一个苹果派和一个苹果派配方一样。我们可以利用配方制作很多苹果派,每个苹果派都不完全一样,有各自的作用。如图显示了一个Circle类和它的三个对象。

一个Java类用变量来定义数据字段,用方法来定义操作或动作。类提供一种非常特别类型的方法,称之为构造方法,也称构造器,这个构造方法的调用会创建一个新对象。虽然一个构造方法可以执行任何动作,但构造方法的设计是用来为对象的数据字段和方法进行初始化的,如下圆类的定义。

Circle类和我们之前见过的类都不同,它没有main方法,也不能被运行,它仅仅是定义了一个圆对象类。包含main方法的类,为了方便,以后我们称为主类。类和对象用UML符号描述如下。

8.3 定义类和创建对象

程序创建3个圆对象,半径分别为1.0,2.5,125,显示每一个圆对象的半径和面积,改变第二个圆的半径,并显示新面积和半径。

程序包含2个类,第一个类为TestCircle1为主类,它存在的意义就在于测试第二个类。我们可以把这2个类放在同一个文件中,但只有一个类是公共类,而且文件的名字要与公共类的名字一致。因此这个文件的名字为TestCircle1.java,因为TestCircle1是public的。

有很多种方式来编写Java程序,例如,我们可以把2个类写成一个类,如下:

再举一个例子,电视机类,每个电视机都是一个对象包含当前频道,当前音量和开关状态;还包含一系列行为(变换频道,调整音量,进行开关电源)。UML类图来表示电视机类。

8.4 利用构造器构造对象

构造方法是一类特殊的方法,它有3个特征: 1.构造方法的名字必须与类名一致

2.构造方法没有返回类型,甚至不是void类型。

3.构造方法只有在对象创建的时候才通过new来调用,主要用来为对象进行初始化。

构造方法可以被重载,使得对象可以以不同的初始数据被创建。如下方法不是构造方法,因为之前的void。

用new来构造一个类的对象,方式如下:new ClassName(arguments);例如,new Circle()会用没有参数的构造方法来创建一个Circle类对象。而new Circle(25);会用带参数的构造方法来创建一个Circle类的对象。一个类通常会提供一个没有参数的构造方法,因此一个类可以不定义构造方法,也称默认的构造方法,也只有当系统没有显式定义构造方法的时候在自动提供。8.5 通过引用变量来访问对象

新创建的对象被分配了内存空间,可以通过变量引用来进行访问。

8.5.1 引用变量和引用类型

对象通过对象引用变量还进行访问,引用变量包含对这个对象的引用,这个引用变量的声明如下:

类就是我们程序员定义的数据类型,类是引用数据类型,这就意味着这个类类型的变量可以指向这个类的一个实例。如下语句声明了一个Circle类型的引用变量myCircle。

Circle myCircle;这个myCircle就是对一个Circle对象的一个引用,下面的语句就是创建一个对象,并使得这个引用变量指向这个对象。

可以把引用变量的声明与对象的创建放在一条语句中:

在Java中,数组被看做是对象类,是引用数据类型,用new创建,而且也要声明它的引用变量。

8.5.2 访问对象的数据和方法

当对象被创建以后,它的数据是能够被访问的,它的方法也可以通过点操作符进行调用的。这个点操作符称为对象成员访问符(.)。1.objectRefVar.dataField引用对象中的数据段。2.objectRefVar.method(arguments)调用对象的方法。

如之前我们举例中,myCircle.radius,myCircle.getArea()。数据段radius称实例变量,因为它依赖于特定的实例,getArea方法称实例方法,因为只有特定的实例才能调用它。

注意:我们之前可以使用Math.methodName(arguments);(如Math.pow(3, 2.5))来调用Math 类中的方法,那么我们能否用Circle.getArea();来调用getArea方法呢?答案是否定的。因为在Math中所有的方法都是static方法,称为类方法,静态方法,而getArea是实例方法,必须先实例化(创建对象),才能被调用。

我们可以创建匿名对象来调用实例方法,即不为对象创建引用变量,以后也不可能用到这个对象,如:

8.5.3 引用数据字段和null值

数据字段可以是引用类型的,如String,数组,或其他类类型。如下语句:

如果一个数据字段是引用数据类型,它不指向任何对象,它为一个代表空引用的Java特殊值null。Null是

一个常数就如true和false一样。一个引用数据类型的默认值为null,就如数值类型数据的默认值为0一样。但要注意的是Java不会为方法内的局部变量分配默认值。

下面的例子会编译出错,原因是x和y两个变量没有缺省值(方法中的局部变量,不预设缺省值)。

8.5.4 基本数据类型变量和引用类型变量的区别

每个变量都是一个存储空间保存着的数据的代表,当声明一个变量时,就是通知编译器这个变量将要保存并代表什么类型的数据。对于基本数据类型,就是基本

数据类型的数值;而对于引用数据类型的变量,这个值是一个对它代表对象的一个地址引用。如下图所示区别。

当把一个变量赋值给另外一个变量是,另外一个变量必须是相同类型。对于基本数据类型,一个变量的实际

值被分配给另外一个变量,对于引用数据类型,这个变量的引用分配给另外一个变量,如图。

8.6 使用Java 类库

前面定义了Circle1,并为这个类创建了对象。我们会经常的Java类库中的类来开发程序,这节会给出几个实用Java类库的例子。8.6.1 Data 类

在第二章我们已知可以使用System.currentTimeMillis()获得当前的毫秒数,然后经过一系列的计算最终猜得到当前的时间,日期。Java提供了系统独立的,封装的类Java.util.Date,可以直接获得当前的时间,如图。

我们可以使用Date类没参数的构造方法来创建当前的日期和时间的实例,这个实例的getTime()方法会返回一个从格里尼治标准时间1970年1月1日0时到当前时间的毫秒数,它的toString方法会以字符串的时间返回日期和时间,如下代码:

这个Date类还有另外一个构造方法Date(long elapseTime),它使用给定的常整型毫秒数(相对于格林威治时间)来构造一个对象实例,8.6.2 Random类

我们之前使用Math.random()方法来获得一个[0-1)随机数。我们也可以通过使用Java.util.Random类来获得随机数,如下生成各种类型的随机数。

当我们创建Random对象时,我们必须给出一个特定的种子或使用缺省的种子,无参数的构造方法用当前时间的毫秒数创建一个Random对象。如果两个Random对象的种子相同,则生成的随机数也是完全一致的。如下程序代码的两个Random对象都是使用3这个种子来创建,他们具有相同的随机数序列。

注意:生成相同序列随机数在软件测试等相关软件应用当中非常有用处。8.6.3 显示GUI组件

Graphical User Interface(GUI)组件是学习和教授面向对象编程最有效的例子。这节简单介绍一下,在第12章再详细讲解。

当我们开发图形用户程序的时候,会用到很多Java类,诸如Jframe,Jbutton,JradioButton,JcomboBox和Jlist等类来创建框架,按钮,单选按钮,复选框,下拉列表等。如下用Jframe类创建的2个窗口。

当然,我们可以在这些窗口中添加很多图形用户组件,如各种按钮,菜单等,这些组件定义的类如下例所示。

8.7 静态变量,常量和方法

通常我们在程序中定义的变量,都是实例变量,这些变量和它对应的类创建的对象相关联。这些变量不能在同一个类创建的对象间共享,如下例。

circle1中的边界radius和circle2中的radius是不相同的,它们存放在不同的内存单元。它们在各自单元中的改变不影响另外一个。

当我们想让类创建的所有对象共享数据,那么这个数据的定义就要用静态变量(static variables),也称类变量(class variables)。类变量的存储在一个共享单元,因此每个对象中修改了静态变量,所有的对象都会受到影响。

Java不仅支持静态变量,还支持静态方法,静态方法不需要创建对象实例就可以用类名调用。

我们修改一下Circle类,加入一个静态变量numberOfObjects来累计类对象个数。如图新的Circle类的UML 模型。

如果要定义静态变量和方法,在变量或方法创建时要在之前加上static修饰符,如下定义。

类定义的常量会被所有的对象共享,因此常量被声明为final static,如之前的常量Math.PI的定义。

实例方法和实例变量都属于实例,只有实例创建以后才存在。类方法或类变量可以通过它的引用变量即类名直接引用。如下例显示如何使用实例变量和类变量,如何使用类方法以及使用后的影响。

当编译TestCircle2.java,Circle2.java如果在上次修改后还没有编译,Java编译器会自动的编译Circle2.java。静态变量和静态方法可以在实例方法和类方法中被使用,但实例变量和实例方法不可以被静态方法使用,只能在实例方法中被使用。如下代码时错误的。

设计指导:当我们创建变量或方法是,它应该是实例的还是类的,我们如何决定?如果一个变量或方法是依靠特定实例的,则应该创建实例变量或方法。如果一个变量或方法不依赖于类创建的任意对象实例,则它应该被创建成类变量或方法。在实践过程中,经常会犯这类错误,如下程序。

8.8 可视化修饰符

我们在前面的类,方法或变量的定义时都是用了public可视化修饰符,说明它可以被任意其他的类读取,如果没有任何修饰符称为默认的,则在同一个包中的其他类可以读取,称为包可见,包隐私或包可进入。包就是组织各种类的文件夹,如果我们想把某个类放到特定的包中,则需要在程序的第一句(所有非注释,非空白语句的第一句)加上: package packageName;如果一个类在定义时没有任何包声明语句,则会被存放在默认包。Java强烈建议程序员在类前加上包声明,而不是都放在默认包中。但为了方便,简单,我们以后讲解的程序都放在默认包中。

除了public和默认修饰符外,还有private和protected两个修饰符。我们先介绍private修饰符,在第11章再讲解protected修饰符。

Privite修饰符使得方法和变量只能被类内的方法使用,或只能它所定义的类中被使用,如下例子。

如果一个类在定义时没有添加任何修饰符,如图访问权限。

可见性修饰符定义了类中的变量和方法是否可被类外的其他类访问。对于类内的访问权限没有明确要求。如图所示。

Private修饰符只能修饰类成员(类中定义的变量或方法),public可以修饰一个类或类中成员。但不能使用public或private来修饰局部变量,否则会产生编译错误。

在大多数情况下构造方法是public的,但如果你禁止用户创建类的实例,这时候就需要private的构造方法。如没有必要创建Math类的实例,因为它的变量和方法都是static的,为了阻止用户创建Math类对象,构造方法的定义为:private Math(){}.8.9 数据封装

在Circle2类中定义的变量radius和numberOfObject可以直接被修改(myCircle.radius=5或Circle2.numberOfObjects=10),这种编程便是不太好,有2个原因:

1.2.数据很容易被篡改,如numberOfObjects是对对象的计数,却容易被错误的修改成任意值:Circle2.numberOfObjects=10。类的维护很困难同时类很容易被出现各种小错误,难于调试。假设我们在其他程序使用了Circle2后,修改这个类来保证半径为非负,则我们不仅要修改这个类,而且还要修改所有要使用它的程序,因

为使用它的程序之前都可以直接修改半径(myCircle.radius=-5)。

为了防止对变量的直接修改访问,我们应该声明变量为private,这就是对变量数据的封装。封装之后外面的类就不能直接访问变量了,但有时用户程序需要得到变量的值,因此定义一个方法来返回它的值,称为get方法getter。为了使得变量的值可以更新,类要提供set方法setter来设置新的变量值。Get方法如下形式:

如果返回类型是boolean,get方法应该如下定义:

Set方法如下定义形式:

我们新建一个circle类,定义radius为private,它对应的setter或getter方法如下:

类的代码如下:

这样我们就能控制私有变量的访问和修改,即使以后修改类,也不用修改使用它的程序,使得程序容易维护。

如下程序使用了Circle类创建的对象,并修改半径。

因此numberOfObject就不能恶意被修改了,如不能把它的值设置为100,除非真的创建100个对象才可以。8.10 传递对象参数

我们可以传递一个对象给方法,像数组一样,传递对象实际上是传递这个对象的引用,如下代码。

如下是具有2个参数的方法,用来对比对象传递和基本数据类型传递数据的区别。

8.11 对象数组

前面我们学到的数组中保存的都是基本数据类型或数组类型,数组中也可以保存对象类型,如下例创建了一个保存10个Circle类型对象的数组。

为了初始化这个数组,我们可以使用for循环。

一个对象类型的数组,实际上就是一个引用变量的数组,如图,circleArray指向整个数组,而circleArray[0]指向一个Circle对象。

上一篇:承载着新的梦想起航作文下一篇:谷雨节气养生注意事项