第一篇:面向对象的用户界面设计的一系列技巧
用户界面设计提示与技巧(节选)
面向对象的用户界面设计的一系列技巧
1.一致性,一致性,一致性!必须保证用户界面的一致性,这是最重要的。如果你可以通过在某个列表框里双击其中一个条目来触发一个事件,那你必须保证在所有的列表框里双击条目都会产生相似的反应。所有窗口里的按钮都应该放在同一个位置,按钮标题与提示的措辞应保持一致,还应保持一致的色彩设置。一致的用户界面会使得使用者建立起关于应用程序工作流程的正确理解,而用户对应用程序工作流程的正确理解会带来更低的训练与支持费用。
2.制订并严格遵守标准。使得你能够真正的保持一致性原则的唯一一个解决办法是制订一个用户界面设计标准并严格遵守。最好的办法是遵循当前的行业标准,同时根据你个人的应用程序的特殊需要不断的加以增添和完善。行业标准,例如IBM(1993)与Microsoft(1995)指定的用户界面设计规范可以满足一般用户界面设计者95%-99%的需要。采用行业标准不仅可以吸收同行的优秀建议,而且可以更容易的使你的应用程序用户界面与最终用户已经使用或者购买的其他同类软件产品的用户界面保持近似。
3.更简单的解释你的规则。你的软件用户需要知道如何使用你为他们提供的软件产品。如果你的应用程序界面严格遵守一致性原则的话某个界面使用规则你只需要解释一遍,这比一步又一步的向用户解释每一个使用环节的每一个使用方法要简单的多。
4.为初学者与专家都提供足够的支持。虽然一个图书目录能为一个随意的浏览者提供足够的图书馆藏书信息,但这不是最有效的为专业用户以及图书馆员提供服务的方法。图书馆员是经过专业训练的能够熟练运用复杂的信息检索系统在图书馆里查阅信息的人员。这意味着你必须为专业人员准备一套更复杂但功能更强大的搜索手段来满足他们的特殊需要。
5.在窗口之间进行导航与指引是非常重要的。如果从一个窗口进入到另一个窗口变得很困难或者复杂,你的用户会有强烈的失败感并放弃使用软件。用户会试图尽量使得自己的工作流程与界面转接流程合拍,如果用户成功的做到这一点的话就会觉得在使用你的应用程序时非常顺手。但必须注意,不同的使用者有不同的工作流程,你的界面转接流程必须足够灵活以适应各种不同的用户习惯与需求。界面流程图可以很方便的用来设计并实现一个优秀的用户界面窗口转接流程。
6.在一个窗口中的使用导引也非常重要。西方人的阅读习惯是从左到右,由上至下。因为人们已对此习以为常所以你在界面设计中必须遵循从左到右,由上至下的原则。如果你将窗口中的控件元素以令人舒适的顺序加以组织的话用户在使用中会对界面产生一种亲切感。
7.适当的用户界面的标签与消息内容措辞。显示在用户界面上的文字是你的用户了解当前系统状态的最主要也是最重要的信息来源。拙劣的措辞在用户看来只会导致拙劣的用户界面。使用完整的词语与句子,尽量不采用缩写的短语与代码可以使你的信息被更好的理解。信息的语气必须是确定的,暗示用户一切都处于控制之中,同时保证使用户得知如何进行下一步动作。例如下列信息:“你输入了错误的信息”或者“账号长度必须为8位”。而且,提示信息必须保持一致的措辞以及显示位置的一致性。虽然“必须输入用户名”、“应该输入账号”的措辞分开来看没有问题,但它们没有保持一致。因此,如果以第一句为标准的话,第二句应改为“必须输入账号”来保持措辞的一致性。
8.理解每一个控件。你必须保证使用正确的控件来完成某个特定的任务,这有助于增强用户界面的一致性
与第一次使用该应用软件时的简易性。保证正确的使用每一个控件的唯一方法就是熟悉并且理解你所采用的用户界面设计标准与特点。
9.仔仔细细的观察别的应用软件用户界面。除非你确定别的应用软件用户界面设计与你的项目遵循同一个标准。绝对不能事先在潜意识中认为另外的应用软件用户界面设计是正确的。虽然通过观察别的用户界面设计来吸取设计灵感与思想是个好办法,但在你能够保证自己拥有判断一个优秀的用户界面与一个拙劣的用户界面之间的区别之前不要这么做。已经有很多的开发者与设计者错误的模仿了某些后来证明是不正确的用户界面设计思想。
10.适当的使用色彩。必须加以控制的使用色彩,如果你在某一处使用了色彩来表达信息的话就必须保证用户还可以从别的方面获得同样的信息,因为很有可能你的软件用户是一个色盲。如果你使用高亮色来突出屏幕上的某个信息,你就必须同时使用一种别的手段来保证色盲用户也能正确的注意到这个信息,比如在画面上显示一个提示符号。使用色彩同样要求保持严格的一致性以保证用户界面的一致性。另外,在不同的平台之间很难保证一致的色彩表现,在一个系统上表现不错的色彩设计在另一个系统上很可能表现很糟糕。我们经常在一些会议上听到某些人说“在我家里的机器上看起来很不错的...”
11.遵循色彩对比度规则。如果你决定在界面上使用色彩你就必须保证在各种可能情况下窗口文本的可读性。最好的解决办法是遵循色彩对比度规则:即在浅色背景上显示深色文本或者在深色背景上显示浅色文本。阅读白色背景上的蓝色文本非常轻松但红色背景与蓝色文本搭配就不是那么令人舒适了,因为红色与蓝色没有足够的对比度来保证文本的可读性,而白色与蓝色就有足够的对比度。
12.使用适当的字体。古体字如果出现在威廉·莎士比亚的剧本封面上看起来确实很不错,但如果显示在屏幕上就会使用户阅读起来很困难。使用容易阅读的字体,例如Times Roman等印刷字体。另外在使用字体时应该很小心的保持一致性。一个使用了两到三种不同字体效果的窗口比使用了五、六种字体的窗口看起来要舒服的多。记住当你每一次改动字体的大小、类型(粗体、斜体、下划线、……)、字体、颜色时你实际上都是在使用另一种不同的字体。
13.禁止使用,而不是不显示。你会发现在某一个特定的时候无法为你的用户提供应用程序的所有功能,例如在用户删除一个条目之前必须先选择一个条目,而在选择一个条目之前删除功能是无法使用的。这时(在选择一个条目之前)是禁止使用删除按钮还是根本不显示删除按钮?答案是前者。在一个控件无法使用时禁止它会使你的用户建立对你的软件产品的工作流程的准确理解。如果你不显示该控件的话就会增加用户对软件产品工作流程建立准确的理解的难度,因为用户现在只知道什么是可用的,而不知道什么是不可用的。这时那句古老的格言“Out of sight is out of mind”就显得很有道理。
14.使用非破坏性功能的默认按钮。一般每一个窗口都有一个默认的按钮,当用户按下回车键时就相当于按下该按钮。问题是用户偶尔会因为无意按下回车键而使得该默认按钮生效。因此必须保证默认的按钮功能不存在潜在的破坏性,比如删除或者保存(因为用户这时候很可能并不想保存)。
15.区域的组织排列。当一个窗口有一个以上的输入框控件的时候,如果你加以组织排列的话窗口看起来会很吸引人并且提高了用户的工作效率。正如第一节所述,左对齐是最好的控件排列方法,也就是说所有输入控件的左边界处于同一条竖直线并一个一个的从上到下排列起来。同时每个输入控件相应的标签以右对齐的方式位于输入控件的左边。这是组织窗口区域的最简单而有效的方式。
16.对齐数据。一般来说一列数据应以下列方式对齐:整形数右对齐,浮点数以小数点为基准对齐,字符
串左对齐。
17.不要把窗口塞的过于拥挤。拥挤的窗口非常难于理解并且难于使用。试验结果表明(Mayhew,1992)整体窗口布局的密度不应大于40%,局部密度不应该大于62%。
18.将窗口元素加以有效的分组。逻辑上有关联的条目应该放到一起以表明它们在逻辑上的关联性,相互毫无关系的条目则应该分开。你可以用空白区域将它们分开,也可以使用箱型控件分别加以包括以达到分组的目的。
19.当前要处理的窗口应该显示在用户关心的地方。当你的用户通过双击一个对象来显示其编辑/细节窗口时他(或她)的注意力都被集中到了这一点。因此接下来显示的窗口也应该显示在这一区域而不是别的什么地方。
20.弹出菜单不应该是用来调用软件功能的唯一手段。如果你隐藏了软件产品的主要功能的话用户是不会试图自己去发掘它们的。开发者最容易犯的错误就是滥用弹出菜单,也叫上下文相关菜单。一般来说当用户使用鼠标在屏幕上显示弹出菜单时该菜单内容应该只与用户当前点击区域的内容有关
第二篇:学习心得《面向对象》
面向对象课程学习心得
这学期的面向对象课程对我来说是收获匪浅的一门课。通过老师课件的讲解,自己一些相关书籍的阅读和实践作业的完成,逐步对课程有了由浅及深的认识。
面向对象(Object Oriented,OO)是一门以实践为主课程,课程中可以分开两块OOA(面向对象系统分析)和OOD(面向对象系统设计)。OOA(面向对象系统分析)主要内容: 研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.OOA不涉及针对具体实现采取的设计决策和有关细节,独立于具体实现的系统模型。是一个完整确切反映问题域和用户需求的系统模型。OOA的优势:复用、可扩展、可维护性、弹性。
OOD(面向对象系统设计):以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计,与具体的实现条件相关。OOD的步骤:细化重组类→细化和实现类之间的关系,明确其可见性→增加属性,指定属性的类型和可见性→分配职责,定义执行每个职责的方法→对消息驱动的系统,明确消息传递的方式→利用设计模式进行局部设计→画出详细的类图和时序图。
面向对象的分析与设计方法将致力于解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需要等方面问题。面向对象的概念包括:对象、对象的状态和行为、类、类的结构、消息和方法。对象概念将包含对象唯一性、抽象性、继承性、多态性的重要特征。面向对象的要素包含:抽象、封装性、共享性三方面。
在设计模式的研究过程中,我们组选择的是迭代器(Iterator)的设计模式研究。完成设计研究后,我对迭代器的设计模式有了更为深刻的理解。迭代器(Iterator)提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。并了解到迭代器设计模式一般在以下三类场合使用较多。
访问一个聚合对象的内容而无需暴露它的内部表示。 支持对聚合对象的多种遍历。因为遍历状态是保存在每一个迭代器对象中的。
为遍历不同的聚合结构提供一个统一的接口。根据实现方式的不同,效果上会有差别。同时还简化了容器的接口。但是在java Collection中为了提高可扩展性,容器还是提供了遍历的接口。在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。
在Java Collection的应用中,提供的具体迭代器角色是定义在容器角色中的内部类。这样便保护了容器的封装。但是同时容器也提供了遍历算法接口,你可以扩展自己的迭代器。至于迭代器模式的使用。客户程序要先得到具体容器角色,然后再通过具体容器角色得到具体迭代器角色。这样便可以使用具体迭代器角色来遍历容器了。
OOA和OOD之间没有明显的界限。OOA与OOD的不可分割性正好说明了OO思想的强大,即软件过程阶段的无缝连接,在交流与沟通中不会产生鸿沟,这是相对结构化思想的好处,因为从功能模块到某块详细控制逻辑设计两者之间的联系不是十分紧密,需要分析人员与设计人员的再沟通。
通过课程的学习与实践,对面向对象的理念,以及相关方法,设计模式有了更为深刻的理解与掌握。针对面向对象的分析与设计课程的授课内容及方法,我个人觉得对我还是有不少的帮助和 提高。结合自己的工作,虽然与开发接触的比较少,但是在运维过程中,如果能了解开发原理,结合实际的工作,会对一些源代码的分析能力以及工作效率的提高起到明显的帮助作用。
第三篇:UI用户界面设计课程设计报告
UI用户界面设计 大作业课程设计报告
题 目:依依旅行系统前台应用及后台管理院 别:专 业:学生姓名:指导教师:成 绩:
信息与控制学院
计算机科学与技术 120210137宋依依
孙丽云
2015年 6 月 12 日
一、系统概述 1.1课程设计题目:
依依旅行系统前台及后台管理
1.2 课程设计运行环境:
1.2.1前台开发工具:
Java,MyEclipse6.5,Tomcat5.x 1.2.2后台开发工具:
Microsoft SQL Server 2008 1.2.2系统运行结果工具:
360安全浏览器7.1 1.3 课程设计实现技术:
基于HTML,CSS,JSP等技术的应用
二、依依旅行系统需求分析
2.1 系统功能需求:
系统的功能需求包括一下几个方面
(1)游客在不登录的情况下只可以进行相关旅行,车票,酒店信息的查询。(2)游客通过注册登录或者登录后,可以通过网络查询景点的信息概况和预定景点票,酒店,车票(飞机票,火车票,或者租车)。
(3)游客登录后还可以进行各种订单的退订,个人信息的修改。(4)系统管理员可以查看游客的预定请求和取消预定的请求。(5)系统管理员可以对系统的数据库进行维护,例如增加、删除和修改景点信息,增加、删除工作人员帐户,增加和删除旅行用户。
三、依依旅行系统概要分析
3.1旅游系统模块介绍
满足以上需求的管理系统主要包括以下几个模块。(1)旅游数据维护模块
基本数据维护模块提供了使用者录入、修改并维护基本数据的途径。例如对游客及导游及工作人员各项信息的更新和修改。(2)旅游业务模块
基本业务模块主要用于实现游客查询景点信息和预定的管理,可以登陆系统预定景点游票和导游预定,工作人员可以处理预定信息和取消预定信息等操作。
(3)数据库管理模块
在系统中,所有景点信息以及工作人员和导游的帐户信息都要进行统一管理,景点的使用情况和预定情况也要进行详细的记录,要用统一的数据库平台进行管理。(4)旅游信息查询模块
信息查询模块主要用于查询景点的信息和游客的预定信息。下图所示表示了旅游开发管理系统的功能需求:
3.2旅游数据维护模块
数据维护模块包括如下图所示的几个方面:
(1)修改更新景点信息:系统管理员可以更新和修改景点信息。(2)更新和修改信息:系统管理员可以更新和修改旅游景点和酒店出行,删除游客的信息。
(3)添加景点信息:系统管理员可以添加景点及景点信息。(4)删除景点信息:系统管理员可以删除景点及景点信息。
3.3旅游业务模块
旅游业务模块包括一下几个方面:
(1)注册登陆后,更改个人信息
(2)查询信息:游客查询景点使用信息及景点概括信息。(3)预定取消景点:游客预定景点票。
(4)酒店预订:游客可一根据情况预定酒店。
(5)出行方式:游客可以根据自己的情况选择出行方式。
3.4数据库管理模块
数据库模块包括一下一个方面:
(1)游客信息管理:信息包括游客的姓名,电话号码,及联系方式等。(2)景点信息管理:景点信息包括景点的名称,代号,概况等。(3)酒店信息管理:包括酒店名称,地址,规格等。
(4)出行信息管理:出行方式,火车票,租车信息等。(5)预定信息管理:景点票,酒店,车票信息。
四、依依旅行系统数据分析
4.1管理员信息表
4.2用户信息表
4.3景点信息表
4.4酒店信息表
4.5火车票信息表
4.6飞机票信息表
4.7租车信息表
4.8用户支付信息表
4.9常用游客信息表
4.10游客常用地址信息表
4.11景点订单信息表
4.12火车票订单信息表
4.13飞机票订单信息表
4.14租车订单信息表
4.15酒店订单信息表
4.16用户评论信息表
五、依依旅行系统的前台实现过程
5.1依依旅行系统首页
注:此时因系统未登录,所以只可以查看详情,若进入景点点击预定和留言或者点击出行方式和酒店预订则跳转到5.2登录界面
5.2依依旅行系统登录界面
当输入用户不存在时跳转到
当输入用户存在,密码输入有误时跳转到
当输入用户存在,密码正确时跳转到5.3
5.3依依旅行系统登录界面
若及点击退出则回到5.1首页界面。
5.4依依旅行系统注册界面 第一步:输入用户名,当用户名已存在时
当用户名不存在时
当密码两遍输入不相同时
当密码两遍输入相同时
5.5依依旅行系统修改个人信息界面
点击修改
修改后点击保存
5.6依依旅行系统修改个人密码界面
当前密码输入有误时:
新密码两遍输入不同时:
新密码两遍输入都正确时时:
5.7依依旅行系统常用游客信息界面
添加游客
5.8依依旅行系统支付信息界面
5.9依依旅行系统订单信息界面 景点订单信息
火车票订单信息
飞机票订单信息
租车订单信息
酒店订单信息
分别可以进行取消订单操作
5.10依依旅行系统预订信息界面 可以选择出行日期,出行人数
点击预订后对信息进行确认,并计算总价格
若积分大于总价格:预订成功
若积分小于于总价格:
5.11依依旅行系统出行方式界面 火车票
飞机票
租车
分别可进行预订
积分充足,与积分不足的情况同景点预订 剩余票数不足时:
5.12依依旅行系统酒店预订界面
5.13依依旅行系统退出界面
若及点击退出则回到5.1首页界面。
六、依依旅行系统的后台实现过程
6.1依依旅行系统管理员登录界面
注:管理员没有注册功能
管理员名称不存在或密码输入有误时情况与用户登录相同 6.2依依旅行系统管理员所有管理员界面
6.2依依旅行系统所有用户界面
可进行删除操作,提示操作人为当前用户指明操作人的操作成功
6.3依依旅行系统管理员所有景点信息界面
可对其进行添加,修改和删除操作
6.4依依旅行系统出行界面 飞机票信息
火车票信息
租车信息
6.5依依旅行系统用户订单信息界面 景点订单信息
飞机票订单信息
火车票订单信息
租车订单信息
酒店订单信息
6.6依依旅行系统管理员信息修改界面
七、依依旅行系统的总结
通过本次课程设计,对JAVA编程,WEB网页制作以及数据库设计有了更深刻的认识和学习到了更多细小的知识点,遇到难题,通过小组讨论以及在网上对相关资料的查询得到了有效的解决办法、本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,最重要的是知道了自己动手的不易,也知道了只要动手做就一定会得到收获!
一分耕耘一分收获!
第四篇:面向对象程序设计教学大纲
面向对象程序设计(专业限选课)Object-Oriented Programming 【课程编号】XZ26175 【学分数】3 【学时数】60=38+22
【课程类别】专业限选 【编写日期】2010.3.30 【先修课程】C语言程序设计、计算机应用基础
【适用专业】通信工程
一、教学目的、任务
通过学习,使学生深刻理解和领会面向对象的基本思想和基本特征,掌握面向对象程序设计语言C++语言的基本概念、基本语法以及面向对象程序设计的基本方法;使学生养成面向对象的编程思维习惯。
二、课程教学的基本要求
1.理解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想 2.能比较熟练地用C++语言进行一般面向对象的程序设计
3.初步掌握面向对象编程环境Visual C++的使用
三、教学内容和学时分配(2 + 5 + 14 + 9 + 12 + 7 + 6 + 5 = 60)第一章 面向对象程序设计概述 2 学时(课堂讲授学时2)主要内容:
1.什么是面向对象程序设计 2.对象与类 3.封装 4.继承性 5.多态性
6.面向对象程序设计的语言 教学要求:
了解什么是面向对象程序设计;掌握对象和类的基本概念;理解面向对象程序设计的基本特征。其它教学环节:
安排课外了解面向对象程序设计方面的基本概念。第二章 C++概述 5学时(课堂讲授学时2+课程实验学时3)主要内容:
1.C++的起源和特点 2.C++源程序的构成
3.C++在非面向对象方面的一些特性 教学要求:
cin和cout的使用;new和delete的运算符的使用;函数的重载;带缺省参数的函数;引用; VC++的使用。其它教学环节:
实验1: C++程序设计基础练习。实验目的和要求:
1.掌握C++程序的基本格式和规范,学会编写简单的C++程序。2.掌握C++程序结构的特点。
3.熟悉C++程序基本的输入输出操作。
4.掌握C++数据类型常量和变量以及修饰符的使用方法。5.熟悉作用域运算符的功能和基本使用方法。6.掌握C++内存的动态分配和释放方法。7.理解引用的概念,掌握引用的使用方法。
第三章 类和对象 14学时(课堂讲授学时8+课程实验学时6)主要内容:
1.类与对象的基本概念 2.构造函数与析构函数 3.对象数组与对象指针 4.向函数传递对象 5.静态成员 6.友元
7.类对象作为成员 8.常类型 教学要求:
类的声明;对象定义;对象的成员的访问。访问属性的理解和运用;构造函数和析构函数的定义;对象数组的定义和使用;this的指针的理解和使用;类的成员类型为其他类时如何理解和使用;静态成员的理解和运用。提供友元机制的目的;友元声明方法;提供常类型机制的目的;各种不同的常类型运作方式。其它教学环节:
实验2:类和对象。实验目的和要求:
1.掌握类、类的数据成员、类的成员函数的定义方式。2.理解类成员的访问控制方式。
3.掌握对象的定义和操作对象的方法。
4.理解构造函数和析构函数的定义与执行过程。5.掌握重载构造函数的方法。6.了解拷贝构造函数的方法。实验3:对象数组和对象指针。实验目的和要求:
1.掌握对象数组的定义和使用方法。
2.理解对象指针的概念,学会用指针引用对象。3.了解this指针的工作方式。
4.掌握静态数据成员和静态成员函数的基本使用方法。5.理解友元与友元函数的作用,掌握其使用方法。
第四章 派生类和继承 9学时(课堂讲授学时6+课程实验学时3)主要内容:
1.派生类的概念
2.派生类的构造函数和析构函数 3.基类成员的访问 4.多重继承 5.赋值兼容规则 教学要求:
基类和派生类的基本概念;继承成员的访问规则;派生类构造函数和析构函数的运行规则;多重继承的基本概念;多重继承中同名二义性如何消除;引入虚基类的目的;继承类和派生类之间相互赋值规则用。
其它教学环节:
实验4:派生类与继承。实验目的和要求:
1.理解类的继承的概念,能够定义和使用类的继承关系。2.掌握派生类的声明和定义方法。
3.掌握公有派生和私有派生的访问特性。4.学习虚基类在解决问题中的作用。
第五章 多态性 12学时(课堂讲授学时8+课程实验学时4)主要内容:
1.编译时的多态性与运行时的多态性 2.函数重载 3.运算符重载 4.类型转换 5.虚函数 教学要求:
多态的基本概念;实现运算符重载的方法(成员函数);实现运算符重载的方法(友元函数);静态联编和动态联编的基本概念;虚函数的作用;虚函数的运用。其它教学环节:
实验5:虚函数和多态性。实验目的和要求:
1.理解编译时的多态性和运行时的多态性。2.掌握运算符重载的基本方法。3.掌握虚函数的定义和使用方法。
第六章 模板 7学时(课堂讲授学时4+课程实验学时3)主要内容:
1.模板的概念
2.函数模板与模板函数 3.类模板和模板类 教学要求:
模板的基本概念;为什么要使用模板;函数模板和模板函数的基本概念;函数模板的声明和使用;类模板和模板类的基本概念。其它教学环节:
实验6:函数模板与类模板。实验目的和要求:
1.掌握函数模板及其声明方法。2.掌握模板函数及其生成方法。3.学习类模板的声明与使用方法。
第七章 C++的I/O流类库 6学时(课堂讲授学时3+课程实验学时3)主要内容:
1.C++建立类类库的目的 2.预定义类型的输入输出
3.用户自定义类型的输入和输出 教学要求:
掌握在各种情况下的<<和>>运算符的重载。其它教学环节:
实验7:I/O流类库。实验目的和要求:
1.掌握流及流类库的作用。
2.掌握流类库中常用的类及其成员函数的使用方法。3.掌握重载“<<”和“>>”的方法。
4.掌握控制输出宽度的函数width和setw。
5.掌握函数setosflags和resetiosflags设置和恢复对齐方式、精度、大小写等。
研究教学内容 5学时(课程讲解和讨论学时)
程序综合设计:按照面向对象程序开发的原则和方法,利用一个实例来讲解面向对象程序设计的整个过程,然后要求学生根据自己的开发经验进行分组讨论,从而帮助学生进一步理解和熟悉面向对象程序设计方法。
四、教学重点、难点及教学方法
重点:类和对象的基本概念;对象定义;对象的成员的访问。访问属性的理解和运用;构造函数和析构函数的定义;对象数组的定义和使用;this的指针的理解和使用。基类和派生类的基本概念;继承成员的访问规则;派生类构造函数和析构函数的运行规则。多态的基本概念;函数的重载。
难点:多重继承;虚函数;模板。
教学方法:课堂授课采用多媒体教学和分组讨论的方法,实验采用任务驱动方式。通过未来愿景描述和学以致用的方法来提高学生的学习兴趣,通过分组交流和师生积极互动的方式提高学生学习本门课程的学习能力。
五、考核方式及成绩评定方式:考试
六、教材及参考书目
推荐教材:
[1] 《C++面向对象程序设计》,陈维兴,林小茶,清华大学出版社,第2版,2004 参考书:
[1] 《C++面向对象程序设计习题解析与上机指导》,陈维兴,清华大学出版社,2003 [2] 《C++程序设计基础》,周霭如,电子工业出版社,2003 [3] 《C++语言程序设计》,郑莉,清华大学出版社,2005 修(制)订人: 审核人:
2010年 3 月30
日
第五篇:《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲
课程名称:面向对象程序设计 英文名称:Object Oriented Programming)学分:2 总学时:36 实验(上机)学时: 8 开课专业:电子商务专业
一、本课程的性质、目的和培养目标
面向对象程序设计是电子商务专业的限定选修课程。面向对象程序设计是当今最为流行的程序设计方法,本课程以C++语言为核心,全面概述面向对象程序设计的基本概念和基本技术。主要内容包括:理解和掌握面向对象程序设计的基本思想和技术,掌握C++中的引用和函数重载、类与对象、静态成员与友元、运算符重载、继承与派生类、多态与虚函数等重要概念和技术。通过教学要求学生基本掌握面向对象的程序设计方法,认识C++是如何支持面向对象程序设计的,培养、训练学生运用面向对象技术进行程序设计的能力。
二、预修课程
计算机语言与程序设计
三、课程内容及学时分配
第一章 从C语言到C++语言
1.C++语言出现的历史背景(OOP思想概述)2.C++中的注释、常量和输入输出 3.C++中的变量定义与作用域 4.C++中的函数 5.C++中的指针与引用
本章学时数:4,本章习题数:4 第二章 类与对象 1.类 2.对象
3.构造函数和析构函数 4.对象及其应用 5.对象的生存期 6.再论程序结构 7.面向对象程序设计
本章学时数:6,本章习题数:6 第三章 静态成员与友元 1.拷贝构造函数 2.静态数据成员 3.静态成员函数 4.友元函数
本章学时数:6,本章习题数:6 第四章 运算符重载 1.运算符重载的概念 2.运算符重载举例
本章学时数:4,本章习题数:4 第五章 继承与多态 1.继承的概念 2.单继承 3.多态与虚函数
4.类的分解(类的层次设计)5.抽象类与纯虚函数
本章学时数:6,本章习题数:6 第六章 I/O流库简介 1.C++流库的结构 2.输入与输出 3.格式控制 4.文件
本章学时数:2,本章习题数:2
四、实验(上机)内容和建议学时分配 实验1(4学时)
要求:定义类,该类至少应包括静态数据成员和静态成员函数,要求通过本实验掌握定义类的基本方法。实验2(4学时)
要求:通过本实验掌握函数重载、友元函数、继承、虚函数等的基本使用方法。
五、教材和参考书目
1.《C++语言基础教程》,吕凤翥编著,清华大学出版社,1999 2.《C++程序设计教程》,钱
能主编,清华大学出版社,1999 3.《The C++ Programming Language》(Third Edition),Bjarne Stroustrup,Addison-Wesley,1997
六、课外学习要求
要求课前预习下一次课的讲课内容,课后复习本次课的讲课内容并通过相应的作业加以消化。
七、考核方式
本课程采用闭卷书面考试方式为主,其中期终考试占80%,期中10%,平时作业、上机及出勤率10%。