第四课 类、对象、接口与包(2)
- 格式:doc
- 大小:420.00 KB
- 文档页数:12
课程代码:座位号: 新疆大学期末考试《Java2实用教程》试卷姓名:学号:专业:学院:班级:题号 一 二 三 四 五 总分得分第一部分选择题(共12分)一、单项选择题(本大题共4小题,每题只有一个正确答案,答对一题得3分,共12分)1、下面的代码段中,执行之后i 和j 的值是什么?【】inti=1;intj;j=i++;A 、1,1B 、1,2C 、2,1D 、2,22、已知如下的命令执行javaMyTestabc 【】请问哪个语句是正确的?A 、args[0]="MyTestabc"B 、args[0]="MyTest"C 、args[0]="a"装 订 线 内 答 题 无效 ****************** ****装********************订 ********************线 ** ** **** **** ** ****得分 评卷人D、args[2]='b'3、以下哪个方法用于定义线程的执行体?【】Astart()B、init()C、run()D、main()4、下面哪个函数是publicvoidexample(){...}的重载函数【】A、publicvoidexample(intm){...}B、publicintexample1(){...}C、publicvoidexample2(){...}D、以上都不对第二部分非选择题(共88分)二、名词解释(本大题3小题,每题4分,共12分。
)1、方法重载2、构造方法3、多态三、分析(1小题8分,2小题9分,共17分) 写出下列程序完成的功能。
1、publicclassSum{publicstaticvoidmain(Stringargs[]){doublesum=0.0;for(inti=1;i<=100;i++)sum+=1.0/(double)i;System.out.println("sum="+sum);}}1、 功能是:______________________________________________________________importjava.io.*;publicclassabc{。
第4章类图与对象图习题一、简答题1.什么叫对象?答:对象的本意是指认识的指向物。
在计算机软件中,対象用來表示客观事物的一个实体,它封装了一组属性和操作。
从形式上看,对象是一段具有特定语法规则的程序单元,它能够作为软件系统的一个相对独立的基本单位,在软件中承担确定的服务职能。
2.简述实例的概念。
答:实例是类元中的一个元素。
3.简述类元的概念。
答:类元是对聚集一组具有共同特征的实例的模型元素的通称,类、接口、用例、参与者、关联等都属于类元。
类元的名字用标识符来表示,首字母要人写。
类元会包括一组实例。
4.什么叫类?答:类是具冇相同性质的一组对彖的集合,这纽对象具冇相同的特征、约束和语义。
5.类有哪儿种类型?答:按阶段分:业务对象,PIM类,PSM类;按作用分:实体类,控制类,界面类。
6.简述接口的概念。
答:接口是-种类元,聚集了一组需要通过其他类元实现的公共的操作和属性。
二、填空题1.认识的対象可以是客观中一个具体的(事物),也可以是主观中的一个抽象(观念)。
2.软件屮的对象是一段具有特定语法规则的(程序单元),它能够作为软件系统的一个相对独立的基本单位,在软件中承担确定的(服务职能)。
3.类描述具有相同性质的一组对彖的(集合),类用(炉形)来表示。
4.按作用,可以把类分为(控制类)、边界类和(实体类)儿种类型。
5.接口可以分为(供口)和(需口)两种类型。
三、选择题1.在认识过程中,下面哪个不是对象的要素(D )A:认识的指向物认识者C:认识指向物在认识者主观中的反映D:认识的背景2.下面哪一个对对象的说法不正确(B )A:客观实体B:事物的对立面C:认识的指向物D:软件的一个基木单位3.下而属性命名不正确的是(A )A *BirthDay:DateB #studentBirthDay:Date=1999-10-21C ^price:float=12. 01 {R/W}D +studentName:Strings “张敏”4.指出下面不合适的类名(B )A:材料B:事物C:订单D:会员5.下面不是对彖图作用的是(A )A:功能逻辑建模B:初期分析工具C:描述业务场景D:模拟运行场景四、练习题1.在一个订货系统中,采购员从供货商处订货,双方需要签订订单,一个采购员可以订多个供货商的货品,一个供货商也可以给多个采购员供货。
《Java程序设计》课程教学大纲课程编号:08120031课程名称:Java程序设计/JAVA Programming总学时/学分:48/3(其中理论32学时,实验16学时)适用专业:计算机科学与技术一、课程目标通过本课程学习,学生应达到如下目标:目标1. 识别Java语言特点、基本语法、语言机制。
目标2. 将面向对象方法知识运用在程序设计案例中,能使用JAVA常用类、枚举、lambda 表达式、容器、泛型进行实例编程验证。
目标3. 利用JavaSE中的异常处理、输入输出等技术来表达处理程序应用问题。
目标4. 将图形用户界面和数据库编程技术运用中综合应用程序设计中。
目标5. 搭建Java开发环境,能设计实现各种Java技术的应用程序,且能测试运行。
二、课程目标对毕业要求的支撑三、教学过程安排四、实验或上机内容五、课程目标达成方法六、考核标准本门课程考核包括6个部分,分别为考试、作业、实验、讨论和测验。
具体要求及评分方法如下:1、期末考试试卷知识点要求2、作业3、实验4、讨论设置讨论课一次,要求学生按照讨论题目分组查阅资料,归纳总结,撰写报告。
5、测验随堂测验,老师给出题目,学生回答。
具体有任课老师给出评分标准。
七、教材及主要参考资料[1] 黑马程序员. Java基础入门(第2版)[M]. 清华大学出版社, 2018.[2] 郑人杰、马素霞、殷人昆. 软件工程概论(第2版)[M]. 机械工业出版社,2016.[3] Gay S.Horstmann. Java核心技术(第10版)[M]. 机械工业出版社,2016.[4] Y.Daniel Liang(美). Java语言程序设计(第10版)[M]. 机械工业出版社.2015.[5] 李刚. 疯狂Java讲义(第4版)[M]. 电子工业出版社,2018.[6] 封亚飞. 揭秘Java虚拟机[M]. 电子工业出版社,2017.[7] Bruce Eckel(美). Java编程思想(第4版)[M]. 机械工业出版社,2007.。
第一章绪论1.1 软件工程概念的提出与发展1.2 软件开发的本质1.3 本章小结第二章软件需求与软件需求规约2.1 需求与需求获取2.1.1需求定义2.1.2 需求分类2.1.3 需求发现技术2.2 需求规约2.2.1 需求规约定义2.2.2 需求规约(草案)格式2.2.3 需求规约(规格说明书)的表达2.2.4 需求规约的作用2.3 本章小结第三章结构化方法3.1 结构化需求分析3.1.1 基本术语1.数据流2.数据存储3.数据源和数据谭3.1.2 系统功能模型表示数据流图(Dataflow Diagram)3.1.3 建模过程1.建立系统环境图, 确定系统语境2.自顶向下, 逐步求精, 建立系统的层次数据流图3.定义数据字典数据流条目给出所有数据流的结构定义数据存储条目给出所有数据存储的结构定义数据项条目给出所有数据项的类型定义4.描述加工(1)结构化自然语言(2)判定表(3)判定树3.1.4 应用中注意的问题(1)模型平衡问题(2)信息复杂性控制问题3.1.5 需求验证3.2 结构化设计3.2.1 总体设计1.总体设计的目标及其表示(1)Yourdon提出的模块结构图(2)层次图(3)HIPO图2.总体设计步骤(1)变换型数据流图——变换设计(2)事物型数据流图——事物设计3.模块化及启发式规则(1)模块化1)耦合①内容耦合②公共耦合③控制耦合④标记耦合⑤数据耦合2)内聚①偶然内聚②逻辑内聚③时间内聚④过程内聚⑤通信内聚⑥顺序内聚⑦功能内聚(2)启发式规则1)改进软件结构, 提高模块独立性2)力求模块规模适中3)力求深度、宽度、扇出和扇入适中4)尽力使模块的作用域在其控制域之内5)尽力降低模块接口的复杂度6)力求模块功能可以预测3.2.2 详细设计1.结构化程序设计2.详细设计工具(1)程序流程图(2)盒图(N-S图)(3)PAD图(Problem Analysis Diagram)(4)类程序设计语言IPO图、判定树和判定表等也可以作为详细设计工具3.3 本章小结第四章面向对象方法——UML 4.1 UML术语表4.1.1 表达客观事物的术语1.类与对象1)类的属性(Attribute)2)类的操作3)关于类语义的进一步表达①详细叙述类的职责(Responsibility)②通过类的注解和/或操作的注解, 以结构化文本的形式和/编程语言, 详述注释整个类的语义和/或各个方法③通过类的注解或操作的注解, 以结构化文本形式, 详述注释各个操作的前置条件和后置条件, 甚至注释整个类的不变式④详述类的状态机⑤详述类的内部结构⑥类与其他类的协作4)类在建模中的主要用途①模型化问题域中的概念(词汇)②建立系统的职责分布模型③模型化建模中使用的基本类型2.接口(Interface)(1)采用具有分栏和关键字《interface》的矩形符号来表示(2)采用小圆圈和半圆圈来表示3.协作(Collaboration)4.用况(Use Case)5.主动类(Action Class)6.构件(Component)7.制品(Artifact)8.节点(Node)4.1.2 表达关系的术语1.关联(Association)(1)关联名(Name)(2)导航(3)角色(Role)(4)可见性(5)多重性(Multiplicity)(6)限定符(Qualifier)(7)聚合(Aggregation)(8)组合(Composition)(9)关联类(10)约束①有序(ordered)②无重复对象(set)③有重复对象(bag)④列表(list)或序列(sequence)⑤只读(readonly)2.泛化(Generalization)①完整(Complete)②不完整(Incomplete)③互斥(Disjoint)④重叠(Overlapping)3.细化(Realization)4.依赖①绑定(Bind)②导出(Derive)③允许(Permit)④实例(InstanceOf)⑤实例化(Instantiate)⑥幂类型(Powertype)⑦精化(Refine)⑧使用(Use)可模型化以下各种关系(1)结构关系1)以数据驱动2)以行为驱动(2)继承关系(3)精化关系(4)依赖关系4.1.3 表达组合信息的术语——包1)访问(Access)2)引入(Import)4.2 UML模型表达格式1.类图(Class Diagram)(1)模型化待建系统的概念(词汇), 形成类图的基本元素(2)模型化待建系统的各种关系, 形成该系统的初始类图(3)模型化系统中的协作, 给出该系统的最终类图(4)模型化逻辑数据库模式2.用况图(Use Case Diagram)所包含的内容(1)主题(Subject)(2)用况(Use Case)(3)参与者(Actor)(4)关联、泛化与依赖模型化工作1)关于系统/业务语境的模型化①系统边界的确定②参与者与用况的交互③参与者的语义表达④参与者的结构化处理2)关于系统/业务需求的模型化①确定系统/业务的基本用况②用况的结构化处理③用况的语义表达3.状态图(1)状态1)名字2)进入/退出效应(Effect)①entry②exit③状态内部转移3)do动作或活动4)被延迟的事件(2)事件1)信号(Signal)事件2)调用(Call)事件3)时间事件4)变化事件(3)状态转移①源状态②转移触发器③监护(guard)条件④效应(effect)⑤目标状态实际应用中, 使用状态图的作用①创建一个系统的动态模型②创建一个场景的模型4.顺序图(1)术语解析1)消息2)对象生命线3)聚焦控制(the Focus of Control)(2)控制操作子1)选择执行操作子(Operator for Optional Execution)2)条件执行操作子(Operator for Conditional Execution)3)并发执行操作子(Operator for Parallel Execution)4)迭代执行操作子(Operator for Iterative Execution)4.3 本章小结第五章面向对象方法——RUP5.1 RUP特点1.以用况为驱动2.以体系结构为中心3.迭代增量式开发5.2 核心工作流5.2.1 需求获取1.列出候选需求2.理解系统语境(1)业务用况模型(2)业务对象模型3.捕获系统功能需求(1)活动1: 发现并描述参与者(2)活动2: 发现并描述用况(3)活动3: 确定用况的优先级(Priority)(4)活动4: 精化用况(5)活动5: 构造用户界面原型1)用户界面的逻辑设计2)物理用户界面的设计3)开发用户界面原型并演示为了执行该用况, 用户怎样使用该系统(6)活动6: 用况模型的结构化5.2.2 需求分析1.基本术语(1)分析类(Analysis Class)1)边界类(Boundary Classes)2)实体类(Entity Classes)3)控制类(Control Classes)(2)用况细化(Use Case Realization)(3)分析包(Analysis Package)2.分析模型的表达3.分析的主要活动(1)活动1: 体系结构分析(Architectural Analysis)1)任务1: 标识分析包2)任务2: 处理分析包之间的共性3)任务3: 标识服务包4)任务4: 定义分析包的依赖5)任务5: 标识重要的实体类6)任务6: 标识分析包和重要实体类的公共特性需求(2)活动2: 用况分析1)任务1: 标识分析类①标识实体类②标识边界类③标识控制类2)任务2: 描述分析(类)对象之间的交互(3)活动3: 类的分析1)任务1: 标识责任2)任务2: 标识属性①关于实体类属性的标识②关于边界类属性的标识③关于控制类属性的标识3)任务3: 标识关联和聚合①关于关联的标识②关于聚合的标识③关于泛化的标识(4)活动4: 包的分析4.小结(1)关于分析模型1)分析包2)分析类3)用况细化(2)关于分析模型视角下的体系结构描述(3)用况模型和分析模型比较(4)分析模型对以后工作的影响1)对设计中子系统的影响2)对设计类的影响3)对用况细化[设计]的影响5.2.3 设计1.设计层的术语(1)设计类(Design Class)(2)用况细化[设计](3)设计子系统(4)接口(Interface)2.设计模型、部署模型以及相关视角下的体系结构描述(1)设计模型及其视角下的体系结构描述1)子系统结构2)对体系结构有意义的设计类3)对体系结构有意义的用况细化[设计](2)部署模型及该模型视角下的体系结构描述3设计的主要活动(1)活动1: 体系结构的设计1)任务1: 标识节点和它们的网络配置2)任务2: 标识子系统和它们的接口①标识应用子系统②标识中间件和系统软件子系统③定义子系统依赖④标识子系统接口3)任务3: 标识在体系结构方面有意义的设计类和它们的接口4)任务4: 标识一般性的设计机制①标识处理透明对象分布的设计机制②标识事务管理的设计机制(2)活动2: 用况的设计1)标识参与用况细化的设计类2)标识参与用况细化的子系统和接口(3)活动3: 类的设计1)任务1: 概括描述设计类2)任务2: 标识操作3)任务3: 标识属性4)任务4: 标识关联和聚合5)任务5: 标识泛化6)任务6: 描述方法7)任务7: 描述状态(4)活动4: 子系统的设计1)任务1: 维护子系统依赖2)任务2: 维护子系统所提供的接口3)任务3: 维护子系统内容4.RUP设计小结1)RUP设计的突出特点2)关于RUP的设计方法①给出用于表达设计模型中基本成分的4个术语, 包括子系统, 设计类, 接口, 用况细化[设计]②规约了设计模型的语法, 指导模型的表达③给出了创建设计模型的过程以及相应的指导3)RUP的设计模型①设计子系统和服务子系统②设计类(其中包括一些主动类), 以及他们具有的操作、属性、关系及其实现需求。
pathon课程设计总结第1篇“类”和“对象”是面向对象编程中基本的概念,从语言的角度来讲,“类”是用户自定义的具有一定行为的数据类型,“对象”则是“类”这种数据类型的变量。
通俗的讲,“类”是具有相同或相似行为的事物的抽象,“对象”是“类”的实例,是是一组具有相关性的代码和数据的组合体,是有一定责任的实体。
类本身还可以进一步抽象为类型,类型是一种更高层次上的抽象,它只用来描述接口,比如抽象类和接口就是一种类型。
当一个类型的接口包含另外一个类型的接口时,我们就可以说它是此类型的子类型。
类型是用来标识特定接口的,如果一个对象接受某个接口定义的所有行为,那么我们就可以说该对象具有该类型。
一个对象同时拥有多种类型。
pathon课程设计总结第2篇1、应具备的特征:(1)支持对象的概念(2)要求对象属于类(3)提供继承机制2、高级语言四代:(1)第一代语言的显著特征是对数学表达式有很强的运算处理能力。
(2)第二代语言的重点是如何有效的表达算法。
(3)第三代语言是引入了抽象数据类型的程序设计语言。
(4)第四代语言是面向对象程序设计语言。
类和对象是程序员在学习计算机编程开发技术的时候需要重点掌握的编程基础概念,下面我们就一起来了解一下,面向对象编程需要掌握哪些基础知识。
pathon课程设计总结第3篇面向对象编程有三个特性:封装,继承,多态。
这三个特性从低级到高级描述了面向对象的特征。
一种语言只有同时具备这三种特性才能被称为面向对象的语言。
VB中也有类,它的类也支持封装和简单的继承,但是它不支持所有的继承语义和多态,因此VB只能被称为基于对象的语言。
封装是所有抽象数据类型(ADT)的特性,很多刚刚接触面向对象的人认为封装就是就是面向对象。
将程序按照一定的逻辑分成多个互相协作的部分,并将对外界有用的稳定的部分暴露出来,而将会发生的改变隐藏起来,外界只能通过暴露的部分向这个对象发送操作请求从而享受对象提供的服务,而不必管对象内部是如何运行的,这就是封装。
“计算机程序设计”教学大纲一、课程性质、目的和任务性质:“计算机程序设计”是面向非计算机类各专业的必修计算机类基础课程,是计算机教育的基础和重点。
目的:使学生掌握一门高级程序设计语言,掌握结构化程序设计和面向对象程序设计的基本方法,同时了解初步的数据结构与算法等方面的知识,具有把各个领域的基本计算和数据处理问题变成计算机应用程序的能力,为后续课程的学习创造条件。
任务:介绍计算机程序设计语言的基本知识和程序设计的方法与技术,同时包括程序设计方法学、数据结构与算法基础等方面的内容。
二、教学基本要求1.C++语言基础知识掌握变量与常量的定义与使用方法;掌握基本数据类型和表达式的使用方法,掌握C++的基本语句。
理解结构化和面向对象程序设计的基本思想和有关概念,掌握C++程序的基本框架和上机调试计算机程序的过程。
2.数组、指针与引用掌握数组的定义、初始化和访问方法;掌握字符串使用方法;理解指针和引用的概念,掌握指针使用方法,理解指针与数组的关系,了解动态内存管理方法。
3.函数掌握函数的定义与函数调用方法,理解变量的生命周期、作用域和存储类别(自动、静态、寄存器、外部),掌握C++库函数的使用方法。
4.类与对象的基础知识理解类与对象的基本概念,掌握类及其成员的声明、定义、访问方法,对象的创建与使用方法;掌握构造函数与析构函数的定义与使用;掌握静态数据成员与静态成员函数的定义与使用。
5.类的复用掌握类的组合语法;掌握派生类的定义和访问权限,类的数据成员与成员函数的继承;理解多态性概念及虚函数机制的要点;了解运算符重载。
6.输入/输出流理解C++流的概念,掌握数据的格式输入输出,掌握文件的I/O操作。
7.综合程序设计能力掌握利用所学到的面向对象的程序设计方法,编制含有多个类的程序;掌握根据实际问题和给定的算法,设计类结构并编码实现,解决小型问题。
8.程序调试掌握C++程序调试的基本方法;理解程序错误的种类和产生的原因,掌握排除语法错误的基本技能;掌握程序调试的基本技能(如设置断点、单步执行、查看中间运行结果等)。
第四课探索认识的奥秘课标要求了解人的实践活动的特性和作用,理解社会生活的实践本质;阐明实践是认识的基础,是检验真理的唯一标准;阐述认识运动的辩证发展过程。
课时1人的认识从何而来学习目标 1.准确理解感性认识与理性认识的区别与联系,准确理解实践的含义与特点。
2.通过了解人的认识的来源,区分获得认识的途径,树立实践第一的观点。
3.结合理论产生与发展的过程,从四个方面理解实践是认识的基础,积极投身于社会实践,自觉树立并遵循马克思主义的实践观。
一、认识与实践1.认识(1)含义:认识是主体对客体的______________________________________________。
(2)认识过程的两个阶段及其关系①阶段:感性认识和____________是人们对客观世界的两种不同水平的反映形式,也是认识过程的两个不同阶段。
②表现形式:感性认识包括感觉、知觉和表象三种形式;理性认识包括概念、判断和________三种形式。
③关系:感性认识是认识的____________,理性认识是认识的______________,感性认识有待于发展、深化为理性认识,理性认识依赖于感性认识,二者____________、____________,具有辩证统一关系。
想一想:请各举两个感性认识和理性认识的例子。
________________________________________________________________________________________________________________________________________________2.实践(1)含义:实践是人们改造____________的__________活动。
①凡是实践,都是以人为主体、以____________为对象的物质性活动。
想一想:蜘蛛织网、燕子筑巢、人们学习科学文化知识是不是实践活动?________________________________________________________________________________________________________________________________________________②作为一种直接现实性活动,实践可以把人们头脑中观念的存在变为______的存在。
如果程序员定义了构造方法,那么,最好包含一个参数表为空的构造方法,new FinalPoint()时会出现编译错误。
Java对待默认构造函数的态度一样,没有构造函数编译系统给类提供
三、接口定义
Java接口这种只规定实现什么功能,而不限制如何进行实现的结构,
设计领域中称作“设计和实现相分离”,其中规定实现的功能属于设计部分,而如何实现功能则是实现部分。
这样进行程序项目制作,可以让一部分人专门进行项目设计,
一部分人进行项目实现。
,接口是为了弥补Java只支持单继承的不足,用来完成多继承的功能。
接。