面向对象作业评讲(通用10篇)
面向对象作业评讲 篇1
一、根据下面的说明,选择正确的用例图:
某餐厅的订餐系统,顾客可以访问该系统订餐,也可以取消预定。另外在预定的时候也可以点菜也可以不点菜。没有订餐的顾客或订餐但没有点菜的顾客到达餐厅后点菜由服务员将点菜信息输入系统。另外服务员还使用该系统进行结账。
1、取消预订预订顾客<
2、取消预订预订顾客点菜结账服务员
3、预订取消预订顾客点菜结账服务员
4、取消预订预订顾客<
二、根据以下描述,选择正确的用例图
某大学的图书馆系统,学生可以使用该系统进行书籍的检索、借出、归还。借出时学生还可以根据需要查看自己已借的图书的一览。另外,在进行检索、借出、归还的时候需要通过学生信息系统认证学生信息是否是有效的。
1、借还书系统检索图书<
2、认证学生信息借还书系统检索图书<
3、借还书系统检索图书<
4、借还书系统检索图书<
三、根据以下描述,画出活动图 某公司的图书采购申请流程。
申请担当做成购书申请单,然后交给课长进行审查;审查是否所有书籍都需要购买,如果有不需要购买的书籍,则通知申请担当修改申请;如果所购书籍金额超过2000元,则需要部长审批,否则直接提交采购部门。部长批准后提交采购部门进行采购,如果不批准则通知申请担当不能进行采购。
四、根据以下描述,选出对应的活动图
某公司的人才招聘流程。人事部门挑选简历,并由开发部门对挑选后的简历进行审查,由人事部门对审查合格者安排考试。人事部门会查看考试结果、联络考试合格者告知其工资待遇并要求应聘者调动档案等。应聘者会告知对此待遇是否满意,如果满意则会调动档案等,同时人事部门会办理入司需要的手续。档案调动和入司手续办理完了之后该应聘者入司。
1、人事部门开发部门应聘者选取简历审查简历安排考试参加考试查看考试结果通知工资待遇及调档告知是否满意办理入司手续调动档案入司
2、人事部门开发部门应聘者选取简历审查简历[合格]安排考试[不合格]参加考试查看考试结果[不合格][合格]通知工资待遇及调档告知是否满意[else][满意]办理入司手续调动档案入司
3、人事部门开发部门应聘者选取简历审查简历安排考试参加考试查看考试结果通知工资待遇及调档告知是否满意办理入司手续调动档案入司
4、人事部门开发部门应聘者选取简历审查简历[合格]安排考试[不合格]参加考试查看考试结果[不合格][合格]通知工资待遇及调档告知是否满意[else][满意]调动档案办理入司手续入司
答案:1 ;3 ;
申请担当课长部长采购部门做成购书申请单审查购书申请单[有不需要购买的修改购书申请单[都需要购买][购书额>2000]审批[购书额<=2000][不批准][批准]通知申请担当采购 2
工业设计基础作业评讲 篇2
一、设计概述
1.考核知识点:产品设计、工业设计的概念、现代工业设计、工业设计发展简史。2.常见错误:不重视技术美。
3.提示注意:现代工业生产中产品设计科学与艺术结合要求。
二、产品造型美学基础
1.考核知识点:产品造型的形式美法则、产品的稳定与轻巧、产品造型的技术美要求。2.常见错误: 视错觉现象。
3.提示注意:产品的结构美和材质美。(红色字为作答)
一、填空题(每空1 分,共44分)
1. 从广义上说,工业设计包括工业产品的设计、视觉传达设计和作业环境设计。2. 从狭义上讲,工业设计就是以具体产品为主要研究对象的系统性设计。
3.设计最基本的分类方法是按照生产方式加以区分,将以现代化大工业为前提的设计皆归入工业设计;将以手工单件制作为重要因素与价值所在的设计归入工艺美术设计。
4.产品设计是对产品的造型、结构和功能等方面进行综合性的设计,以便生产制造出符合人们需要的实用、经济、美观的产品。
5.根据产品种类,产品设计可以分为电子产品设计、家具设计、服饰设计、交通工具设计等。6.“工业设计”是由英文Industrial Design直译而来,这门学科是在科学技术发展和社会进步的基础之上,逐步发展起来的新兴学科。
7.从工业设计的角度看,衡量产品质量的指标主要有以下三个方面:内在质量、外观质量和人机质量。
8.一件优秀的设计作品,必然是节约材料、便于加工、满足功能要求、符合市场流行趋势的作品。9.人类设计发展到今天,经历了一个漫长的过程,设计活动的历史大体可以分为三个阶段,即设计的萌芽阶段、手工艺阶段和工业设计阶段。
10.对称是一种普遍存在的形式美。对称给人均等、平衡、稳定的感觉。
11.稳定和轻巧都是指造型物上下之间的轻重关系。稳定的基本条件是,物体重心在水平面上的投影必须位于物体的支撑面以内。而且重心的位置越低,越靠近支撑面的中心部位,其稳定性越大。稳定分为实际稳定和视觉稳定两种。
12.在现代工业生产中,标准化、系列化、通用化的生产要求,使产品的单元构件不断地循环重复,从而构成了节奏和韵律。
13.产品的视觉中心往往不止一个,但必须有主次之分,而这个视觉中心在不影响产品物质功能的前提下,是由设计者来决定的。
14.产品设计中需要设置一个或几个能表现产品特征的视觉中心。产品的视觉中心设置的好坏直接影响到产品形象的艺术感染力。
15.现代美学家认为:“美”有四种基本形态:自然美、社会美、艺术美、技术美。
16.技术美是科学技术与美学艺术想融合的新的特征形态,它是通过技术手段把形式上的规律性、内容上的统一性相结合,使之成为工业产品物质功能的感性直观。
17.视错觉是指视感觉与客观存在不一致的现象,简称错觉。
二、选择题(每小题2分,共12分)
1.工业设计的普及化和商业化是开__B__,同时也推动了世界工业设计的发展。
A.始于美国,发展于德国
B.始于德国,发展于美国 C.始于美国,发展于前苏联
D.始于美国,发展于日本
2.黄金分割比例是指将一条线段分成长短两部分之后,若设长线段长度为a,短线段长度为b,则公式表达为: a:b=(a+b):a 比值≈C_。
A.0.612 B.0.681 C.0.618 D.0.616 3.过渡指的是在造型物的A不同形状或颜色之间,采用连续渐变的形、面、体或色彩来实现形态和颜色间的自然转化。它有直接过渡和间接过渡两种。
A.两个 B.三个 C.一个 D.四个
4.近年来,越来越多的产品上都使用了透明的材料。这样的设计不光是因为透明材质带给观众的视觉惊喜,还因为透明的材料可以使人感觉产品本身的体积_D_了。
A.放大 B.不变 C.为零 D.缩小 5.传统工业设计的核心是C设计。
A.结构 B.材质 C.产品 D.技术
6.A是指人类生产制造的物质财富。
A.产品 B.造型 C.功能 D.技术
三、简答题(每小题4分,共20分)1.工业设计的学科特征及要求有以下六条: 答:(1)科学与艺术结合——双重性
(2)人机系统的协调——舒适性(3)启迪思维灵感——创新性(4)建立系统设计观念——协调性(5)适应时代发展需要——时尚性(6)提倡功能价值分析——经济性
2.产品的造型设计主要有以下五种调和与对比的关系: 答:(1)点,线、面的调和与对比,(2)色彩的调和与对比,(3)材质的调和与对比,(4)虚实关系的调和与对比,(5)系统风格的调和与对比。
3.视觉中心
答:视觉中心是指人的视线环视物体时,为了不使视线不停地游荡,利用物体上最明显、最有吸引力的部分,使观察者 5.视错觉现象有哪七种? 答:(1)长度错觉
(2)分割错觉(3)对比错觉(4)透视错觉(5)变形错觉(6)光渗错觉(7)翻转错觉
四、看图回答问题(每小题2分,共24分)
1.图中两只眼睛看起来排错了吗?那就请你用直尺检查一下吧。这是对比错觉。
提示:两只眼睛不共线错觉。
2.高度和宽度比哪个大些?这是长度错觉。
3.等长的相直线看上去不等长?这是长度错觉。
3.图中线是平行的?还是互成一定的角度呢? 这是变形错觉。
4.看起来像螺旋,但实际上是一系列的同心圆。这是相加级数比例。
5.正看是一位年青女子,反过来看是一位老妇人。这是翻转错觉。
6.下图中的三个小人儿身高也是完全相同的:这是_透视_错觉。
7.下图是一个正方形吗,最好用直尺量量。这是变形错觉。
8.圆怎么变成了心形?这是变形错觉。
9.这是个圆吗?这是变形错觉。
10.在这幅照片中,夫人的头属于哪个身体? 这是_幻觉错觉。
提示:头是和右边身子相连的。这张照片是从一个非常特殊的角度拍摄的,因为只有一个头能看得见而且看起来是和两个不同的身子相连,所以会产生这种幻觉。人类的视力经常会设想我们并没有看到那些偶然产生,非真实知觉的客体。这种假想叫做“一般观点”原则。
11.两个形状相同,大小相等的正方形,由于,中间水平线和垂直线产生的惯性诱导作用,被横线分割的显得要高,被竖线分割的显得要宽。这是_分割错觉。
分割错觉是指图形在受到分割线分割后所产生的与实际大小不等的错觉现象。12.生活中我们都有这样一种感觉:早晨的太阳看起来比中午大些。这是光渗错觉。
面向对象作业评讲 篇3
责任教师张莉
《学前儿童语言教育》作业评讲(1)主要针对《学前儿童语言教育》平时作业(1)(教材绪论和第一章的内容)中的部分简答题和论述题进行评讲。下文中,黑色的是问题与解答要点,兰色是说明和解释。
三、简答题
(一)什么是语言能力?
1.考核知识点: 语言能力的概念
2.解答要点:
语言能力一方面是指个人使用语言的能力(基本的语言能力),具体表现在听、说、读、写四项;另一方面是指分析语言的能力,它是以语言和语言形式本身作为分析观察的对象进行知觉的能力,它是一种特殊的语言能力,具体表现在对各语言层次(语音、语感、语义、语法、修饰等)和各语言单位(词、词组、句子、篇章等)所具有的特征的知觉上,带有较强的直觉性。上述两方面能力互相联系、互相促进,在语言使用的动态过程中得到统一。
(二)为什么说语言是人类最重要的交际工具?
1.考核知识点: 语言是人类最重要的交际工具
2.解答要点:
首先,语言是一种人类所特有的社会现象。它随着人类社会的产生而产生,也随着人类社会的发展而发展,在人类社会之外是没有语言的,社会属性是语言最为基本的一种属性。
其次,在人类的交际工具中,语言是最重要的。人类的交际工具除语言外,还有文字、旗语、红绿灯、电报代码、数学符号、化学公式以及手势、表情等。文字记录语言,处于从属地位,是最重要的辅助交际工具。旗语、电报代码、数学符号等交际工具,大多是在语言和文字的基础上产生的,且在特定领域内为社会服务,使用的范围相当狭窄。体态语只能作为辅助交际工具,代替不了语言交际的功能。
(三)为什么说语言是思维工具?
1.考核知识点: 语言是思维工具
2.解答要点:
语言和思维形影相随,不能分离。思维活动,尤其是抽象思维活动,必须借助于语言,不能离开语言而单独进行。语言也是认识成果的储存场所,思维的成果需要语言表达出来。思维离不开语
言,必须在语言材料的基础上进行。没有语言,没有句子,概念也就无所依托,推理进程难以进行,思维也就不存在了。如果没有语言,思维活动不能进行,思维成果也无从表达。
(四)简述对语言“约定俗成”性的理解。
1.考核知识点: 语言具有约定俗成性
2.解答要点:
语言符号的音义关系是由社会约定的,用什么样的“音”去表达什么样的“义”,完全由社会约定,因而这种音义的任意性关系又叫约定性。“约定俗成”的含义:第一,语言符号的语音形式和意义内容之间没有必然的、本质的联系,完全是任意的,音义结合的任意性是人类语言多样性的一个重要原因。第二,用什么样的声音形式表达什么样的意义,什么样的意义用什么样的语音表达,是由社会全体成员共同约定并共同遵守的。
符号的任意性特点是就语言起源符号创制之初而言的,符号一旦进入交际,也就是某一语音形式与某一意义结合,就对人们有强制性,每一个人都只能接受它,如果破坏约定擅自更改,就必然遭到社会的拒绝。所以,语言符号的任意性和强制性是对立的统一,人们不能随意更改已经约定的音义关系。
(五)简述学前儿童语言的获得理论的主要内容。
1.考核知识点: 学前儿童语言的获得理论
2.解答要点:
目前学界关于儿童语言获得的理论概括为三大类:后天环境论、先天决定论和先天与后天相互作用论。
后天环境决定论强调环境和学习对语言获得的决定性影响。认为儿童语言只是成人语言的简单翻版,否定或轻视儿童在语言获得中的主动性及其先天因素的影响。
先天决定论强调先天禀赋的作用,认为语言获得不是后天学习的结果。这种理论这种认为,儿童生来就具有一个语言学习装置。儿童接触一定数量的语言后,就会利用这种装置对语言现象进行分析,学会了具体的语言。
先天与后天相互作用论,认为认知结构是语言发展的基础,个体的认知结构来源于主体和客体之间的相互作用。语言的习得不是本能的、自然的过程,强调智力成长和语言发展之间的关系,关注儿童的经验背景和成长中的智力对其交往能力的影响。
(六)影响学前儿童语言学习的社会因素有哪些?
1.考核知识点: 影响学前儿童语言学习的社会因素
2.解答思路:
在影响学前儿童语言学习的社会因素中,较为重要的是儿童的社会生活环境,成人语言观和儿童教育观的影响。
(1)社会生活环境的影响
①不同的地区不同的生活环境。
语言中各要素的复杂程度造成了儿童语言习得过程中习得方式和习得顺序的不同;家庭和社会的文化素质以及幼儿园对教育的重视程度对儿童语言习得的影响很大;不同的生活环境对儿童的语言习得也有影响。
②教育的差异。
由于社会的发展和人们对儿童进行早期教育的重视,儿童的心理、智力和语言的发展在不断加快。随着民族文化素质的提高和对儿童语言习得的重视,这一趋势会变得越来越明显。
(2)成人语言观的影响
成人的语言观念可以体现在对待口语和书面语的态度,民族共同语和方言的地位,对本民族语和外语的态度等等,这都对儿童的语言学习具有一定的影响。
语言观念对于儿童语言习得常常发生重要而却往往被人忽视的影响。
(七)前儿童语言教育的研究任务,主要包括哪两大方面?
1.考核知识点: 学前儿童语言教育的研究任务
2.解答要点:
学前儿童语言教育的研究任务,主要包括:
(1)进一步探索学前儿童语言教育的功能和作用
①促进学前儿童语言和行为的社会化进程;
②提高学前儿童的学习能力,促进其智力发展;
③促进学前儿童语言学习的兴趣;
④学好口语,提高早期阅读能力,为学业成就和未来成功打好基础。
(2)解释学前儿童语言发展过程及现象,揭示学前儿童语言发展的特点与教育规律,并运用规律来促进学前儿童的语言发展。
(八)与传统的儿童语言教育相比,学前全语言的教育有什么新要求?
1.考核知识点:学前全语言教育的新要求
2.解答要点:
(1)传统的儿童语言教育比较强调口语能力的发展,而对学前儿童阶段的识字阅读教学和前书写能力的培养有疑义。学前全语言教育则强调了在重点发展儿童口语的同时,利用儿童极强的无意识的语言学习能力,积极培养他们对书面语言的兴趣和认知能力,促使他们尽可能早地掌握初步阅读的能力,使之成为主动的学习者和学会学习的实践者。
(2)传统的儿童语言教育仅强调母语教学,而学前全语言教育则在强调重点发展儿童母语能力的同时,也积极地对他们进行第二语言能力的启蒙。利用儿童学习语言的最佳时期,早日开发对外语语音和文字符号的认知能力与兴趣,以减少成人后的母语习惯对学习外语的不利影响。
(3)传统的儿童语言教育主要发展儿童的口语能力,而学前全语言教育的目标是以儿童整体语言能力的发展为手段,来促进儿童创造性的认知特征、情感特征、人格特征以及身体动作的发展,充分体现了儿童素质教育对全语言教育的要求。
四、论述题
学前儿童语言学习有哪些重要特点?
1.考核知识点: 学前儿童语言学习的特点
2.解答要点:
(1)语言学习是儿童语言主动建构的过程。
首先,儿童在与成人交往和运用语言的过程中接触到了语言环境,这个环境为他们提供了种种语言模型,足以用来选择。只有那些他们能够理解、能够模仿的模型,才会被有意识地挑选上,并被不断地加以模仿和练习。其次,与此同时,儿童将语言模型稍加改动,增添、减少或变换个别语言单位,作为自己的语言表达出来。这种根据自己需要进行的创造性和变通式的模仿,正是儿童主动参与语言构建的过程。此外,成人在与儿童交流时,一定程度上考虑到了儿童对语言的接受和模仿,成人所提供的语言模型也会受到儿童自身特点的影响。这就是儿童对语言环境的反作用力。
(2)语言学习是儿童语言是语言个性化的过程。
每个儿童所依托的语言环境都不一样,既有的经验和语言的积累使得儿童在交往中带有鲜明的个性印记。特定的语言习惯显现其语言个性,这种个性可以从语言使用的句式、词汇、口头禅甚至是语调体现出来。除去语言表达的形式的个性化之外,语言内容同样呈现出个性色彩。不同的儿童在语言学习中表现出不同的特点,他们对话题的偏好、句式的选择都呈现明显的个体差异。在学习过程中的速度、效果,运用语言交际的积极性也各有不同。
(3)语言学习是儿童语言是语言综合化的过程。
语言本身是音义结合的符号系统,儿童在学习语言的时候,语音和语义是必须结合在一起学习的,儿童学习语言的过程往往就是他们认识事物的过程。同时,语言的学习也和儿童在其他领域的学习紧密联系在一起,儿童的成长成熟通过语言的成长成熟表现出来。
(4)语言学习是儿童语言是循序渐进、逐步累积的过程。
笔试题面向对象 篇4
1请解释下列10个shell命令的用途
top、ps、mv、find、df、cat、chmod、chgrp、grep、wc
2、写出下列服务的用途和默认端口
ftp、ssh、http、telnet、https
面向对象
1、写出php的public、protected、private三种访问控制模式的区别
2、写出下列程序的输出结果
class a{
protected $c;
public function
a(){
$this ->c=10;
}
}
class b extends a
{
public function print_data(){
面向对象工程数据模型研究 篇5
摘要:根据冷冲模CAD系统的设计特点,将面向对象思想与模板的知识表达方式相融合,提出了面向对象工程模板,建立了设计与制造活动的有机联系,实现了几何信息与制造信息的集成和分离的对立统一,将复杂对象、层次结构及动态的数据结构用相对简单且组织严密的方式组织起来。
关键词:数据模型 面向对象工程模板 冷冲模
随着计算机辅助设计(CAD)的迅速发展,集成化CAD系统的研制与开发成为当今计算机集成制造系统(CIMS)环境下CAD的发展方向。产品的设计制造过程实质是对信息的采集、传递、加工和处理过程,其本质体现在以信息集成为特征的技术集成和人的集成两方面?1?。信息集成是指将CAD/CAM/CIMS工程设计中涉及的数据和信息(尤其是图形数据、结构化数据和非结构化非图形信息)集中起来管理。由于工程设计过程的特殊性,设计过程是一个不断反复、试探、选择、完善的过程,会面临大量需要组织的设计数据和试验数据;同时还会因为同一设计对象的多个版本而产生大量的.重复数据,这些都给数据组织带来了很大的困难。因此如何及时、有效地组织和管理工程数据成为工程设计人员迫切需要解决的问题。
传统的数据模型工程设计中没有足够的能力表达工程数据的全部语义结构,表达工程数据的数据模型应当具有以下几个方面的特性:
・随着工程设计的逐步深入,设计人员能够定义新的数据类别,并对已有的数据类别进行改进和重新定义;
・可以允许定义静态和动态的数据种类,静态实体属于设计环境的一部分,可用它创建表示设计对象的动态实体;
・在提供基本数据结构的同时,可以建立设计中数据结构的抽象数据类型;
・提供描述复杂对象的数据描述标准框架,使得不同的设计者从不同的角度描述同一设计对象时,它们的视图是相关的;
・在数据模型里可以按照一定的格式描述任意一个产品设计信息及其语义信息,满足设计要求;
・满足设计和生产要求的一切产品都能为数据模型所描述。
1 面向对象与模板
模板的基本思想是从一组相似的事物中抽象出一种框架型的模式,任何一个类似的事物都可作为以模板为超类派生的实例。将模板概念引入到工程CAD领域,这与工程CAD领域的设计特色有密切的关系。工程设计是设计人员具有创造性的思维活动,其特点具体表现在创造性、变异性、模式重复性、绘图工作量大等方面。采用工程模板的设计思想使设计人员在设计的不同阶段都能按照自己的要求进行操作;而面向
Lua面向对象编程学习笔记 篇6
其实 Lua 中的 table 是一种对象,因为它跟对象一样,有其自己的操作方法:
代码如下:
Role = { hp = 100 }
function Role.addHp(hp)
Role.hp = Role.hp + hp
end
Role.addHp(50)
print(Role.hp)
上面代码创建了一个名为 Role 对象,并有一个 addHp 的方法,执行 “Role.addHp” 便可调用 addHp 方法,
不过上面对象 Role 是以全局变量的方式创建,会有一种“全局污染”的威胁,即变量 Role 在其他地方被重新赋值(例如被赋成 nil),对象里的属性或方法可能会面临被销毁或不能正常工作的情况。
对于这种问题,Lua 提供一种“接受者”的解决方法,即额外添加一个参数 self 来表示对象本身:
代码如下:
Role = { hp = 100 }
function Role.addHP(self, hp)
self.hp = self.hp + hp
end
r = Role
r.addHP(r, 50)
print(r.hp)
这样就不怕对象 Role 被“全局污染”,因为构造了一个子对象 r,并以参数的方式传入,以供其方法调用操作。
对于这种把对象本身以参数的方式传入对象方法里的写法,Lua 提供了一种更优雅的写法,把点号(.)替换为冒号(:),这样在方法定义或调用时,便可隐藏 self 参数。修改如下:
代码如下:
Role = { hp = 100 }
function Role:addHp(hp)
self.hp = self.hp + hp
end
r = Role
r:addHp(50)
print(r.hp)
上面的 “r.addHp(50)” 的写法等价于 “r.addHp(r, 50)”
类
Lua 没有类的概念,不过可以通过元表(metatable)来实现与原型 prototype 类似的功能,而 prototype 与类的工作机制一样,都是定义了特定对象行为。Lua 里的原型特性主要使用元表的 __index 事件来实现,这样当调用对象没定义的方法时,会向其元表的 __index 键(事件)查找。例如有 a 和 b 两个对象,想让 b 作为 a 的原型 prototype,只需要把 b 设置为 a 元表的 __index 值就行:
代码如下:
setmetatable(a, {__index = b})
这样,当对象 a 调用任何不存在的成员都会到对象 b 中查找,a 可以拥有或调用 b 的属性或方法,从某种意义上看,b 可以看作是一个类,a 是 b 的对象。
对于上面 Role 的例子,对象的创建可以用 __index 元方法来改写,这样新创建的对象就拥有和 Role 一样的属性和方法。
代码如下:
function Role:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o
end
当执行 “r = Role:new ” 创建一个对象时,r 将 Role 设置为自己的元表,那么调用 “r:addHp(50)” 的时候,会在 r 里查找 addHp 方法,如果没有找到,则会进一步搜索其元表的 __index,因此等价于:
代码如下:
getmetatable(r).__index.addHp(r, 50)
从上面的 Role:new 方法可以知道,Role 的 __index 在创建时被指定为 self,因此其实就是执行:
代码如下:
Role.addHp(R, 50)
完整的类例子:
代码如下:
Role = { hp = 100 }
function Role:new(o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o
end
function Role:addHp(hp)
self.hp = self.hp + hp
end
r = Role:new()
r:addHp(50)
print(r.hp)
继承
Lua 里继承机制还是像实现类那样实现,
假如打算从类 Role 派生出一个子类 Priest,它有一个魔法属性值 mp,那么可以先从类 Role 构造一个 Priest,继承类 Role 的所有属性和方法:
代码如下:
Priest = Role:new()
虽然 Priest 是 Role 的一个实例,不过它具有类 Role 的所有属性和方法,其实也可以把它看做是从类 Role 派生出来的类,因此可以从类 Priest 继续 new 一个对象出来:
代码如下:
p = Priest:new({ mp = 100 })
上面实例 p 除了多出一个魔法属性值 mp 外,还继承类 Role 的所有属性和方法,当调用 “p.addHp” 方法时,Lua 在 p 中找不到 addHp 方法,会到 Priest 中找,在 Priest 中找不到,会到 Role 中找。
因此,想重定义从父类 Role 继承来的方法,在类 Priest 上定义即可。假如想重定义 addHp 方法:每次加血都要先判断魔法值够不够,如果够,则加血,并扣除一定的魔法值。修改如下:
代码如下:
function Priest:addHp(hp)
if self.mp >= 20 then
self.mp = self.mp - 20
self.hp = self.hp + hp
end
end
面向对象程序设计实习报告 篇7
实习报告
班级:电子商务
学号:xx
姓名xx
指导教师:
实习时间:2011.12.26-2012.1.6
一、实习目的
经过两个周的面向对象程序设计的实习,让我再次复习了SQL和VB的相关知识,因为自己这这学期的课程中对VB和SQL都有学习。虽然我们的上机课是有限的,但是在这次的实习中让我更加的对自己多掌握的知识做了个很详细的补充。由于两个周基本上都是自己在电脑上亲自操作完成任务,所以我就更加熟悉和掌握其具体应用的方法。当然在这个任务完成的工程中会遇到很多的难题,所以就要靠自己努力不懈的看书弄懂,还有问老师和四周的同学,把不懂的地方尽量通过这几种渠道把它弄懂。在整个实习过程中,我清楚并掌握了SQL Server的集成环境、系统的菜单、工具栏、企业管理器、查询分析器的具体使用方法还有掌握了创建数据库、数据表等的方法,了解并知道数据表的操作命令以及T-SQL命令的使用。在编写代码的时候,我大概了解VB基本命令的使用方法;掌握常用函数、表达式的使用方法,掌握程序控制结构的使用和程序设计,掌握变量的作用范围和自定义函数的使用。以及熟悉了VB与数据库管理系统的连接方法等。这些都是要通过自己的实际操作中慢慢的的熟悉和了解的。我觉得这样的实习不仅让我在这两门重要的编程课中加深自己的知识,同时在以后的工作中能够有更大的用途。
这次的实习,在我自己来看,虽然还存在很多的问题,但是总体的效果还是很好的。老师的逐渐提醒和同学们之间的共同商量,都能够让我受益匪浅。还有还渐渐的掌握了一些小的程序的编程,这让我在vb和sql上有更加深刻的掌握,对我的以后工作还是学习上都是百利无一害的。
二、实验内容
在这次的实习中我完成了SQL SERVER的基本操作,如创建学生情况表等三个表以及录入记录;SQL Server 与程序设计语言连接,从中对之前的三个表的录入信息等; 程序设计语言基本算法中的求素数和自然数对、最大公约数和公倍数问题、百钱百鸡问题等;常用统计算法中的成绩统计和字符统计问题;常用排序方法中的选择排序法和二维数组排序问题;以及加密解密、数值转换问题;矩阵的综合运算;学生管理信息系统、集成界面已经程序封面的设计等问题。但是同时由于知识的不全面也没有完成如冒泡排序法、梵塔问题。
1.创建学生情况表107及数据录入
图 1-1 学生情况表107结构设计
图 1-2 学生情况表107的记录信息
2.创建课程情况表107及数据录入
图 2-1 课程情况表107结构设计
图 2-2 课程情况表107的记录信息
3.创建选课情况表107及数据录入
图 3-1 选课情况表107结构设计
图 3-3 选课情况表107的记录信息
实验二
SQL Server 与程序设计语言连接
图2-1 学生情况表综合查询
图2-1学生情况表记录
图2-2学生情况表网格
图2-3学生情况与选课主从
图2-4课程情况与选课主从
图2-5课程情况表网格
图2-6选课情况表记录
图2-7选课情况表网格
实验三
程序设计语言基本算法
1.求“107到500”以内的所有素数及自然数对。
图3-1 素数及自然数对程序运行界面图
2.计算最大公约数和最小公倍数
图3-2 计算最大公约数和最小公倍数的运行结果图
3.百钱百鸡问题
图3-3 百钱百鸡问题的运行结果图
实验四 常用统计算法
1.成绩统计
图4-1成绩统计的运行结果图 2.字符统计
图4-2 字符统计的运行结果图
实验五
常用排序方法
1.选择法排序
图5-1选择法排序的运行结果图 2.二维数组排序
图5-2 二维数组排序的运行结果图
实验六
加密解密与数制转换
1.数据加密与解密
图6-1 简单数据加密解密的运行结果图 2.数制转换
图6-2数制转换的运行结果图
实验七
矩阵的基本运算
图7-1 矩阵操作的运行结果图
实验八
综合应用
1.数据文件管理
图8-1 学生基本信息管理系统
2.设计程序封面
图8-2 程序封面示意图
3.系统集成界面设计
图8-3集成系统界面
三、实习总结
主要收获:经过两个周的面向对象程序设计实习,让我对与VB和SQL的综合运用能力有了很大的提高和长进。因为我们大部分的时间都是实际操作,这样子的话使我们每个同学都能够很好的将书本知识转化为实践能力,在实践中慢慢的发现自己的不足和知识的欠缺。而在这个过程中,我学到了远远比在书本上学到的东西多得多的能力,比如SQL的基本操作和命令的熟练运用,VB的程序代码的编写以及界面的绘制等等,在这次的实习中我都能够慢慢的掌握并且运用在实际的实习中。这不经让我在这两门课程中从不太了解逐渐一步一步熟悉,许多没掌握的知识也有所消化,很多没注意的细节也有所掌握。尤其是在我在不懂的时候通过查阅资料、询问老师和同学商量的过程中也让我更加的对这次的实习感到万分的高兴,这种宝贵的机会更能调动我们的自己动手的能力,更快的提高我们掌握知识的速度。存在问题:虽然说这次的实习我学到了很多的知识和丰富的经验,但是我在实习中是存在许多问题没有解决。比如:
一、在VB方面,对于难一点的程序设计,它的程序代码编写我还是觉得写起来很困难,这样的话对于我的程序的运行上面就会出现很多次的小问题导致不能正常运行,还是没有很好的学习到更加深层次的复杂性的程序设计。
二、在SQL方面,虽然在创建数据库、创建表、插入记录上面我已经很熟练的掌握并且能够很好的运用,但是在连接方面我还是存在很大的问题,只能死记硬背老师给教的步骤,然后慢慢的调试。尤其在于实验二中的学生情况表的综合查询方面,我还是有点不能很好的理解和运用。
三、毕竟实习的时间是很短暂的,在这个短短的两个周内要好好看书,然后再慢慢的在电脑上调试还是需要时间的,所以在于很多的任务上我还是第一次涉及到,比如封面设计的绘制图形、设计集成界面等,都要通过有关的书籍看懂再自己设计的,所以还不能设计出更加好看的图形,只能是涉及绘制那种最简单的图形。
四、对与VB的有些实习任务比如冒泡排序法和梵塔问题,在这次的实习中通过看书和同学商量,我还是对于这两个程序有点手足无措,虽然大致的程序界面能够很好的设置下来,但是还是存在很多的问题,这说明了在VB的复杂性的程序设计方面我还是有一些问题的。实习需要改进的意见:首先我觉得对于我自己来说,最重要的还是多看书,在这次实习中我觉得我真的看的有关这个方面的书籍真的是太少太少了,这让我在实习中会遇到很多无论是细小的问题还是理论上的问题,都会遇到很多的困难,所以利用这个寒假还是要好好的在这个方面得到提高。其次我要在自己不懂的地方自己实在不能解决的要请教老师和赶紧和同学商量,要把详细的问题请问老师,不能大而化之的问。这样才能真正的知道哪里欠缺,哪里真正的掌握。最后,就是常常和四周的同学沟通和商量,这样的效率也比较的高,也能知道更多别的同学所掌握的知识,这样更加的丰富了自己的知识和能力。还有就是,这样的实际操作的实习机会应该多点给我们学生,自己动手做才能更好的学到知识。
总之,在这次的实习中我得到了很多的知识,也获得了丰富的经验,在这次的实习中使我受益匪浅,希望以后能够多多的得到这样的机会来提高自己。
参考资料:
1.《SQL Server应用教程》郑阿奇、刘启芬、顾韵华编写.人民邮电出版社,2008.12月第一版 2.《Visual Basic 程序设计》龚尚福编写.中国矿业大学出版社,2007年8月第一版
3.《Visual Basic6.0程序设计实务入门》陈建成、陈柏宏、黄珮莹、陈泽雄、林清祥编写.中国铁道出版社,2001年4月第一版 4.《基于VB和SQL的数据库编程技术》刘志妩、张焕君、马秀丽编写,清华大学出版社,2008年4月第一版
面向对象作业评讲 篇8
Object-oriented programming 课程编码:05405170 学分:2.5 课程类别: 专业基础课 计划学时:48 其中讲课:32 实验或实践: 上机:16 适用专业:信息管理与信息系统
推荐教材:耿祥义 张跃平编著,《Java 2 实用教程(第三版)》,清华大学出版社,2006年 参考书目:皮德常主编,《Java 2 简明教程》,清华大学出版社,2006年
郑阿奇编著,《Visual C++实用教程(第3版)》,电子工业出版社,2007年
郑阿奇编著,《Visual C++教程(第2版)》,清华大学出版社,2011年
课程的教学目的与任务
本课程的教学目的是让学生在掌握了面向对象程序设计语言基本知识的基础上,通过对窗口、文本框等基本组件、对话框、多线程、网络编程的学习和掌握,培养学生运用面向对象的思维进行编程,提高学生的编程能力,为后续课程的学习以及以后在工作岗位上从事面向对象编程打下良好的基础。通过本课程的学习,应使学生掌握面向对象语言基本组件、对话框等图形界面的学习;掌握异常处理机制、多线程编程、输入输出编程以及网络编程等内容;通过课堂讲授和上机实验,培养学生观察问题、分析问题、解决问题和实际动手能力。
课程的基本要求
1、使学生能够运用基本编程知识,进行图形界面编程;通过对异常处理机制、多线程编程、输入输出编程以及网络编程等内容的学习,使学生掌握图形界面的编程实现,并进而学会输入输出编程和网络应用,能体会到面向对象程序设计的扩展性。
2、通过课堂讲解、讨论、演示和上机实验以及学生课下思考,使学生掌握图形界面编程,对异常处理、多线程机制、输入输出编程和网络应用有一个初步的认识,能够独立的对高一级别的问题进行思考和实现。
3、要求学生在学完本课程后,能够熟悉一种开发环境,具有基本的图形界面编程能力,并具备了异常处理、多线程机制、输入输出编程和网络应用等方面的编程能力,能够运用所学知识解决一些较为复杂的现实问题。
各章节授课内容、教学方法及学时分配建议(含课内实验)
第一章: 异常处理 建议学时:6 [教学目的与要求] 掌握异常处理的基本知识、异常类的产生、捕获与处理。[教学重点与难点] 抛出异常
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 异常处理的基本知识 第二节 异常类的产生、捕获与处理 第三节 异常的分类 第四节 自定义异常类
第二章: 时间、日期和数字 建议学时:2 [教学目的与要求] 掌握程序设计语言的时间类、日期类等基础类的使用 [教学重点与难点] 时间函数的几种基本格式
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 时间类的介绍 第二节 日期类的介绍 第三节 数学运算类的介绍 第四节 大整数类的介绍
第三章:组件及事件处理 建议学时:16 [教学目的与要求] 掌握文本框、按钮与标签、菜单项、文本区、面板、布局、画布、选择性组件的使用;内部类实例作监视器的使用;掌握程序设计语言中的窗口事件、鼠标事件和键盘事件等知识。
[教学重点与难点] 组件的使用,各种事件处理的综合使用
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 窗口的构成和使用 第二节 文本框的介绍和使用 第三节 内部类实例做监视器 第四节 按钮与标签 第五节 菜单项 第六节 文本区 第七节 面板 第八节 布局 第九节 画布 第十节 选择性组件 第十一节 组件类的常用方法
第十二节 窗口、鼠标、焦点、键盘事件介绍 第十三节 使用剪贴板 第十四节 打印功能介绍 第十五节 综合实例
第四章: 建立对话框 建议学时6 [教学目的与要求] 掌握对话框类的主要方法;明确对话框的模式分类;熟练使用文件对话框、消息对话框、确认对话框和颜色对话框。[教学重点与难点] 在程序中根据需要灵活运用各种对话框。
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 对话框基本知识介绍 第二节 文件对话框的使用 第三节 消息对话框的使用 第四节 确认对话框的使用 第五节 颜色对话框的使用
第五章: 多线程机制 建议学时:6 [教学目的与要求] 掌握线程的概念、状态与生命周期、常用方法。能够创建线程、挂起、恢复、终止线程。理解线程同步、线程联合和守护线程。认识GUI线程和计时器线程。
[教学重点与难点] 多线程的概念和运用
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 线程概述 第二节 创建线程
一、用线程类的子类创建
二、用接口创建 第三节 线程的常用方法 第四节 GUI线程 第五节 线程同步
第六节 挂起、恢复和终止线程 第七节 计时器线程 第八节 线程联合 第9节守护线程
第六章: 输入输出流 建议学时:6 [教学目的与要求] 理解输入流、输出流的概念。掌握与输入输出相关的各种类的介绍。掌握数据流、数组流和对象流的使用。学会使用文件锁和带进度条的输入流。[教学重点与难点] 文件的读写及随机访问
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 输入输出流概述 第二节 基本类的介绍
第三节 使用文件对话框打开和保存文件 第四节 随机访问类的介绍
第五节 数据流、数组流和对象流的介绍和使用 第六节 序列化与对象克隆 第七节 文件锁 第八节 过程类中的流 第九节 带进度条的输入流
第七章: 面向对象程序设计网络基本知识 建议学时:2 [教学目的与要求] 掌握面向对象程序设计对网上资源的访问方法。掌握实现底层网络通信的方法。理解网络中的数据压缩与传输。
[教学重点与难点] 底层网络通信的实现方法
[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 访问网上资源 第二节 处理超链接 第三节 底层网络通信的实现
一、基于连接的流式套接字
二、无连接的数据报 第四节 网络中数据压缩与传输
第五节 数据流、数组流和对象流的介绍和使用 第六节 序列化与对象克隆 第七节 文件锁 第八节 过程类中的流 第九节 带进度条的输入流
第八章: 小应用程序基础 建议学时:4 [教学目的与要求] 理解小应用程序的概念、运行原理以及如何在网页中进行传值、建立新线程和使用套接字。
[教学重点与难点] 小应用程序的运行原理
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 概念、运行原理 第二节 访问网上资源
第三节 在小应用程序中建立新线程 第四节 在小应用程序中使用套接字
面向对象的嵌入式系统设计方法 篇9
摘要:通过UML语言对嵌入式系统建模,急准确地完成了分析人员与用户需形式化层次上的一致性,也为程序开发人员建立了清晰的程序结构和行为准则,大大缩短了系统开发周期,并使系统的升级和重用成为可能。本文通过一个用Atmel89C52单片机实现简单变频调速器系统,说明UML应用与嵌入式系统的分析设计方法。
关键词:嵌入式系统面向对象分析设计UML有限状态机
1概述
随着我国装备制造业的发展,嵌入式系统已经成为制造业的核心技术。它被广泛地应用到工业控制、仿真系统、医疗仪器、信息家电、通信设备等众多领域。目前,围绕嵌入式系统展开研究和开发,已经成为计算机软硬件技术发展最活跃的方向之一。
嵌入式系统不同于通常纯粹的软件系统或硬件系统,而是软件与硬件通过在一起的,有些功能既可以用软件实现,也可以通过硬件实现。另外,嵌入式系统设计所面临的挑战不仅涉及到计算机软件和硬件,也会涉及到许多非计算机工程中的问题,诸如机械尺寸问题、功耗问题和制造成本问题等。即使是计算机工程方面的问题,大部分系统在实时性、可靠性和多速率等问题方面也都有特别要求。
目前,实现嵌入式系统的硬件方法主要有:定制逻辑(ASIC)、现场可编程门阵列(FPGA)和嵌入式微处理器三种。在实际系统实施中,绝大多数系统是采用嵌入式微处理器方式,如单片机、单板机或嵌入式微处理器芯片等。这是因为用微处理器实现嵌入式系统是一种十分有效的方法,它使得在不同价位上设计不同特性的产品系列成为可能,并且能够扩充新特性以满足飞速发展变化的市场需求。
2嵌入式系统设计面临的问题和解决办法
过去嵌入式系统分析和设计方面的主要问题为:①分析设计没有一个统一的标准;②分析设计方法不统一;③从分析设计到制作和编程没有一个始终一贯的工程化方法,使得产品形成的每一个过程人为因素影响十分严重;④分析设计的成果不能被开发类似项目或产品的重用。以上4个方面的问题成为多年来制约嵌入式系统发展的主要瓶颈,使得大部分从事嵌入式系统应用开发的组织和团体,基本上是采用小组甚至是作坊式的`动作模式。这使得开发较复杂或大型系统的工作变得十分困难甚至无法进行,或因为系统需求的不断变化或小组成员的流动导致项目失败。我们知道,人类之间要想达成对任何事件的交流,前提是实现对该事物形态(或表现形式)和行为的标准化,之后才可能实现对该事物形态(或表现形式)和行为的标准化,之后才可能实现对其的存储、处理和交流。嵌入式系统制作过程产品以上4方面问题的主要原因是没有一个对嵌入式系统需求、分析、设计、制作、测试和维护过程的结构特征和行业特征统一的工程化描述方法。目前,面向对象技术正是建立在对真实世界抽象思维的基础上,统一建模语言(UML)为这种思维提供了可视化工具,解决了以上难题。使用UML对嵌入式系统建模,不仅可以使系统分析设计实现标准化,而且完全可以实现系统分析、设计和制作、测试分别由不同的项目成员在统一、一贯的方式下完成,也使得系统分析和设计模型在相似系统中重用成为可能。
3系统建模
面向对象的嵌入式系统建模同任何软件密集型系统建模一样,从系统中的类建模开始。为了解类的结构,首先对系统工作过程作一个总体陈述。无论是采用问题空间词汇抽象方法还是采用用例(usecase)驱动建模方法,目标都是找到系统以类或对象作为构造块的类图。如果采用用例驱动的系统分析方法,该内容也可以用用例视图加以模型规格说明,然后使其作为系统白盒测试依据。由于使用用例视图做的规格说明篇幅比较大,本文仅用文字描述说明这部分内容。
本文所例举的系统为一小型变频调速器系统。对任何一个三相交流电机,在输入单相交流电源的情况下,实现6Hz到[9Hz,50Hz]区间内任一频率的稳步启动运转。系统用户界面包括2位数码显示器、一个运行/停止指示器、电源开/关指示器、6个按钮键盘和电源开关。2位显示器用于显示电机当前正在运转的频率,6个按键分别代表启动、停机、正点动、反点动、频率加和频率减。启动命令使电机从6Hz以每步0.2Hz的步长稳步提升到当前设置频率上后在该频率上稳定运转;正点动命令使电机稳定在6Hz上正向运转;反点动命令时,电机转动频率与正点动上同,但旋转方向相反;频率加命令在电机运转时使电机以1Hz/s的速率增加运转频率和当前预置频率,在电机停止时仅改变预置频率;频率减命令与频率加命令相反;停机命令则无论电机运行在什么状态下,都使电机停止运转。
系统类图如图1所示。图中有2个硬件类Button*和Light*,1个主动类Microcontrollor和3个一般类Convertor、Watchdog和Display。Button*类代表所有按钮;Light*类代表2个发光数码管和1个运行指示灯;主动类Microcontrollor是系统主控模块,完成所有对象的调度和管理;3个一般类为3个功能独立的程序模块。
图2为系统实施图。微处理器节点是系统的主控节点,采用Atmel89C52。其内部8KBFlashROM和128BRAM资源已能满足系统需要,因此不再增加外部存储器。与其它节点的连接完全通过其本身的串并接口就可完成。按钮节点代表所有按钮,在系统变化时也可以用键盘取代,本例为6个单独机械按钮。显示节点代表系统显示部分,本例为2个数码管和1个表示电同运行状态的发光二极管。运行监控节点具有两部分功能,其一是通过WatchDog技术监视微处理器的运行状况,另一个是监视变换器输出的脉冲宽度。变换器邛树熊设计为专用电路,通过微处理器并行口接受三相正弦脉冲,根据电机功率转换成本相电机线圈所需要的脉冲电压。三相电机节点不属于嵌入式系统本身,但为了说明本嵌入式系统与控制对象关系而布置在同一实施图中。
图3为系统有限状态机行为模型。系统开机上电后,经过初始化处理自动进入到等待状态,在等待状态,Microcontrollor对象根据用户键盘按钮命令,调度相应的操作对象。当用户发出正或反点动命令时,系统进入点动运行态,此时Convertor对象输出6Hz正或反相序三相脉冲。当用户松开正或反点动按钮时,系统返回等待状态。在系统预置频率设定正确的情况下,用户按启动按钮时,系统先进入到启动运行态。在此状态时系统从6Hz开始按每步0.2Hz的步长稳步增加电机运转频率,直到达到预置频率时进入到稳定运行态。在稳定运行态用户可以改变预置频率,步长为1Hz。每次预置频率的改变事件,都会产生从稳定运行态到启动运行态的交替变动。当系统运行出现故障时,进入到故障处理状态处理,完成后自动返回到等待状态。
4系统实现
4.1数据处理
由于本文例举的系统为一小型变频调速嵌入式系统,所有三相正弦波形的PWM脉冲都由Atmel89C52的P1.0~P1.5端口输出。当把任何频率正弦波形分解成N等分时(N为6的整数倍),则要用N个等幅而不等宽的矩形脉冲来等效,每个脉冲区间如图4。每个频率正弦波划分为6个相序,每个相序为60°。每个相序分为N/6个区间,每区间分为7个小区间。每个区间采用中心对称脉冲波形,因此在每个小脉冲边沿只有一相功率驱动开关换相而使驱动电源电流平衡变化。在任何一相换相时,由软件自动加死区保护(死区时间一相上下臂开关同时关闭,如图4中竖双线间部分),以免功率驱动开关在换相瞬间上下臂同时导通而损坏元件。
虽然对于不同频率每个相序内脉冲区间数和占空比有所不同,但输出的波形却是相同的。又因为每个区间的7个小区间波形是中心对称的,因此在输出最后3个小波形时,只要把前3个小波形的占空时间和输出波形数据倒读并输出就可以完成。另外,每个脉冲区间仅需要4个占空定时T区间,t2,t3,t4(见下节说明),并且每个相序仅需要4个脉冲波形数据就可以了。三相正弦波区间数据关系如表1.
表1三相正弦波区间数据关系
相序IIIIIIIVVVI电压关系Ua>Ub>UcUb>Ua>UcUb>Uc>UaUc>Ub>UaUc>Ua>UbUa>Uc>Ub波形数据2AH,29H,19H,152AH,26H,25H,152AH,26H,16H,152AH,1AH,16H,15H2AH,1AH,19H,15H2AH,29H,19H,15区间数N/6N/6N/6N/6N/6N/6小区间定时t4,t3,t2,t1,t2,t3,t4
4.2系统资源配置
当系统的分析与设计采用面向对象方法时,并不意味着所使用的编程语言也一定是面向对象的。事实上,这种分析设计方法的具体实现可以使用任何编程语言(如汇编语言或C语言);但是,在程序设计上要尽可能地使用面向对象的思想,如体现程序结构方面的封装性、消息传递等。这种才会使程序结构清晰,便于应付随着需求变化而产生的不断更新和系统维护。
在实现本系统时,系统最重要的资源是程序存储器和定时器。由于采用了上小节所讨论的数据处理技术,大大压缩了数据空间。在实现时,把6Hz~50Hz频率空间划分成7个大的区段,使每个区间的脉冲周期在900μs左右,区间周期定时使用单片机内部的T2定时器的常数自动重装入方式。由于区间周期与输出频率关系是确定的(T区间=1/Nf频率),片内T0定时器用于区间内小区间t2、t3、t4定时,而t1定时由t1=T区间-2×t2-2×t3-t4计算得到。T1定时器用于监视系统输出的脉冲宽度,当P1口任何一端输出脉冲宽度超过1000μs时,系统通过中断进入故障处理状态。另外,系统还设一WatchDog电路X5045,监视系统程序运行情况。当程序运行异常时,系统通过复位进入到故障处理状态。系统的显示接口通过单片机串行接口实现。
5讨论
C++面向对象程序设计教学大纲 篇10
课程编号:
课程中文名称:面向对象程序设计
课程英文名称:Object-Oriented Programming 总学时: 40
实验学时: 0
上机学时:学分:
2.5 适用专业:软件工程专业
一、课程性质、目的和任务(300字内)
《面向对象程序设计基础》是计算机软件工程专业本科生的一门专业基础课。面向对象软件开发方法是吸收了软件工程领域有益的概念和有效的方法而发展起来的一种软件开发方法。它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化的程序,并体现信息隐蔽、可复用、易修改、易扩充等特性。本课程主要介绍面向对象程序设计的方法和C++语言的基本概念及C++语言中的面向对象机制。通过本课程的学习,应使学生能够较好地理解和掌握面向对象程序设计技术的基本概念,掌握面向对象程序的设计方法,并能够在C++环境下(如VC++)开发较大型的应用程序。从而为以后的工作和学习打下基础。
二、课程教学内容及学时分配
第一章、面向对象程序设计概述(3学时)
1.教学内容
1.1面向对象程序设计方法的产生和发展
1.2面向过程和面向对象程序设计方法概述 1.3 面向对象程序设计的基本术语 1.4 面向对象程序设计的基本特征 1.5面向对象程序设计语言
1.6基于Visual Studio 2010的C++应用程序的开发 2.基本要求
了解面向对象技术的发展历程;了解面向过程和面向对象程序设计两种程序设计方法 优缺点;掌握面向对象程序设计的特点;掌握面向对象程序设计的相关术语和基本特征;了解目前常用的面向对象程序设计语言。了解Visual Studio环境下,C++应用程序的开发过程。3.重点、难点
重点:面向对象程序设计的特点(数据的抽象与封装、继承性、多态性)及面向对象的基本术语;C++应用程序的开发环境。
难点:面向对象程序设计的特点(数据的抽象与封装、继承性、多态性)和面向对象的基本术语。
第二章、C++基础(6学时)
1.教学内容
2.1C++程序的组成部分 2.2 命名空间
2.3 C++数据的输入输出 2.4引用 2.5函数
2.6 变量的的作用域与可见性 2.7对象的生存期 2.8 const常量
2.9动态内存分配和释放 2.10编译预处理
2.11文件的输入和输出 2.基本要求
了解C++程序的组成部分;掌握命名空间、变量的的作用域与可见性及生存期的概念;掌握引用及函数的引用参数和返回引用的概念和使用;掌握带有默认参数的函数的使用;掌握内联函数和重载函数的使用;掌握动态内存分配和释放的方法;掌握磁盘文件的输入输出操作方法。3.重点、难点
重点:引用及函数的引用参数和返回引用的概念和使用;动态内存分配和释放的方法;默认参数的函数的使用;内联函数和重载函数的使用。
难点:函数的引用参数和返回引用的使用;掌握磁盘文件的输入输出操作方法。
第三章 类和对象(6学时)
1.教学内容
3.1类和对象的概念 3.2类的定义
3.3对象的创建与使用
3.4构造函数 3.5析构函数
3.6构造函数和析构函数的调用顺序 3.7 对象数组与对象指针 3.8向函数传递对象 3.9对象的赋值和复制 3.10类的组合 2.基本要求
理解类的概念,掌握类的定义方法;理解对象与类的关系,掌握对象的创建和使用方法;掌握构造函数、析构函数的概念和使用方法;掌握拷贝构造函数的使用方法;掌握对象数组和对象指针的特点和使用方法;掌握函数调用中参数的传递方式;理解类的组合的特点。3.重点、难点
重点:构造函数、析构函数的使用方法;对象数组和对象指针的特点和使用方法;函数调用中参数的传递方式。
难点:拷贝构造函数的使用方法;对象数组和对象指针的特点和使用方法;类的组合使用。
第四章、类与对象的其他特性(4学时)
1.教学内容
4.1类的静态成员 4.2友元
4.3类的作用域和对象的生存期 4.4常量类型 2.基本要求
掌握类的静态成员(静态数据成员和静态成员函数)的定义和使用方法;掌握友元函数、友元类的作用、定义和使用方法;了解类的作用域,理解对象的类型和生存期;掌握各种常量的特点、定义和使用方法。3.重点、难点
重点:静态数据成员和静态成员函数的使用方法;友元函数、友元类的使用方法。难点:静态数据成员和静态成员函数的使用方法;类的作用域、对象的作用域及生存周期。
第五章、继承与派生(6学时)
1.教学内容
5.1类的继承与派生概念 5.2基类与派生类
5.3派生类的构造函数和析构函数 5.4多重继承
5.5子类型与赋值兼容规则
5.6程序实例 2.基本要求
理解基类和派生类的概念;掌握派生类的声明、生成过程、继承方式和访问权限;掌握派生类的构造函数和析构函数;掌握多重继承的构造函数和析构函数、构造顺序和析构顺序及多重继承中的二义性;掌握虚基类的概念;理解子类型和赋值兼容规则; 3.重点、难点
重点:派生类的继承方式和访问权限;派生类的构造函数和析构函数的定义;多重继承构造函数和析构函数的构造顺序和析构顺序;多重继承中的二义性;虚基类的定义。
难点:多重继承中的二义性;虚基类的定义;理解子类型和赋值兼容规则。
第六章、多态性(5学时)
1.教学内容
6.1运算符重载 6.2多态性的概念 6.3虚函数
6.4纯虚函数与抽象类 6.5面向对象程序设计 2.基本要求
掌握重载运算符的定义方法;了解运算符重载为成员函数与友元函数的区别;掌握不同类型数据间的转换方法;掌握多态性的概念;掌握虚函数的定义和使用方法;掌握纯虚函数和抽象类的定义;了解面向对象程序设计的基本思想。3.重点、难点
重点:成员函数和友元函数重载运算符;虚函数的使用方法。难点:虚函数的使用方法;纯虚函数和抽象类的定义和使用。
第七章、模板(2学时)
1.教学内容
7.1模板的概念
7.2 函数模板与模板函数 7.3类模板与模板类 2.基本要求
了解模板的概念;掌握函数模板的定义和使用,理解函数模板与模板函数的关系;掌握模板函数显式具体化;掌握类模板的定义和使用,理解类模板与模板类的关系;掌握类模板的派生;掌握类模板的显式具体化。3.重点、难点
重点:函数模板与类模板的使用。难点:类模板的使用。
第八章 文件和流
1.教学内容
8.1 C++的输入/输出 8.2 标准输入流 8.3 标准输出流
8.4 文件的输入和输出 2.基本要求
了解C++的输入/输出的概念;掌握使用cin进行输入;掌握istream类的方法进行输入。掌握使用cout进行输出;掌握格式化输出;掌握ostream类的方法进行输出;掌握文件的输入和输出。3.重点、难点
重点:掌握istream类和ostream类的输入和输出方法;掌握文件的输入和输出。