第三章 面向对象
- 格式:ppt
- 大小:657.00 KB
- 文档页数:66


Java语言基础
本章的主要目标:
1、了解java的主类的结构;
2、了解java语言中的基本数据类型;
3、了解java语言中的常量和变量;
4、了解java语言运算符的使用;
5、了解java语言数据类型的转换;
6、了解java语言中代码注释与编码规范;
Java主类结构
Java语言是面向对象的程序设计语言,java的基本组成单元就是类,类体又包括属性和方法,而每一个程序都必须包含一个main()方法,含有main()方法的类称之为主类;
我们用一个程序来看一下主类的结构:
public class First{
static String s1=”java”;
public static void main(String args[]){
String s2=”学习之旅!”;
System.out.println(“s1”);
System.out.println(“s2”);
}
}
这就是一个简单的java程序,包含了类的结构;需要注意的是,java代码中所有的标点符号,括号都是需要在英文状态下输入;否则在编译的时候将会报错;
通常将类的属性称之为类的全局变量(又叫成员变量),将方法中的属性称之为局部变量;全局变量声明在类体中,局部变量声明在方法体中;
Java程序中的main()方法必须声明为public static void 。main()方法是程序开始执行的位置;
Java语言严格区分大小写;
基本数据类型
Java中的基本数据类型有
基本数据类型
字符和数字之间可以相互转换;
在程序执行过程中,其值不能改变的量称为常量,其值能改变的量称之为变量;
Java语言规定标识符由任意顺序的字母、下划整数型
字符型
布尔型 整数类型(byte、short、int、long)
浮点类型(float、double) 线、美元符号、和数字组成,并且第一个字符不能使数字字符;
第10章
面向对象设计
第10章 面向对象设计
10.1 软件模块之间的依赖性可以从哪些角度和抽象层次进行分析?
在面向对象软件中,常见的软件模块有类、接口、包、构件。因此,分析软件模块之间的依赖性就可以从类、接口、包和构件的角度和层次进行分析。
10.2 消除包之间循环依赖性的方法是什么?
本质上,两个包之间的依赖性来自于两个包中类之间的依赖性。类之间的循环依赖性是个特别棘手的问题,好在大多数情况下可以通过重新设计避免循环依赖性。具体方法是增加新包。举例说明如下:
在下图中,包A依赖于包B,反过来包B又依赖包A,构成了循环依赖。具体解决办法是:将包B依赖的包A中的元素从包A中分离出来,组成包C,使得包B不再依赖包A,而是依赖包C。
10.3 请给出构件的一般性定义,然后给出传统的软件工程环境及面向对象的软件工程环境中构件的定义,最后选择你熟悉的编程语言说明怎样定义一个构件。
软件构件是一种组装单元,它具有规范的接口规格说明和显式的语境依赖。软件构件可以被独立部署,并由第三方任意组装。OMG UML规范中将构件定义为“系统中某一定型化的、可配置的和可替换的部件,该部件封装了实现并暴露一系列接口”。
在传统的软件工程环境中,一个构件就是程序的一个功能要素,程序由处理逻辑和实现处理逻辑所需的内部数据结构以及能够保证构件被调用和实现数据传递的接口构成。传统的构件也称为模块,是软件体系结构的一部分。
在面向对象的软件工程环境中,面向对象技术已达到了类级复用,而构件级复用则是比类级复用更高一级的复用,它是对一组类的组合进行封装(当然,在某些情况下,一个构件可能只包含一个单独的类),并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。一个构件可以是一个编译的类,可以是一组编译的类,也可以是其他独立的部署单元,如一个文本文件、一个图片、一个数据文件、一个脚本等。
选择你熟悉的编程语言说明怎样定义一个构件。(略)
绪论-面向对象与UML导学 1 【判断题】 (20分) UML是面向对象的软件建模语言,可应用到软件开发全过程。
A.
对
B.
错
正确
本题总得分20分
2
【判断题】 (20分)
面向对象是当今主流的软件开发思想。( )
A.
对
B.
错
正确
本题总得分20分
3
【多选题】 (20分)
下列哪些工具可以用来进行UML建模?( )
A.
Enterprise Architect (EA)
B.
StarUML
C. Microsoft Office Visio D. Rational Rose 正确
本题总得分20分
4
【多选题】 (20分)
我们要从本课程中学到哪些知识?( )
A.
面向对象的基础知识
B.
面向对象编程语言
C.
UML软件建模
D.
面向对象的设计原则
错误
本题总得分0分
5
【多选题】 (3分)
平时分析问题,总要获取哪些方面的信息?( )
A.
事物之间如何协作完成任务?
B.
事物之间的关系是什么?
C. 事物的特征和行为是什么?
D.
问题中涉及哪些事物?
正确
本题总得分3分
第一章-软件建模概述 1 【多选题】 (20分) 以下对软件建模描述正确的是( ) A.
描述同一个系统的多个模型只能相对孤立,不能完全孤立,完全孤立的模型是不完整的
B.
每个模型可以有多种表达方式,从不同角度来刻画系统。
C.
越庞大复杂的系统,建模的重要性越大。
D.
模型是对现实世界的简化,但不能掩盖重要的细节。
E.
要正确建模,模型必须准确反映软件系统的真实情况。
正确
本题总得分20分
2
【单选题】 (20分)
模型的实质是什么?( )
A.
对现实的简化
B.
可视化
C.
对现实的复杂化
D.
便于交流
正确
本题总得分20分
3 【单选题】 (20分) 对软件模型而言,下面说法错误的是( )
A.
第三章习题解答
3.1什么是面向对象技术?它有什么优点?
通过面向对象的方式,将现实世界的物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
面向对象技术的最大优点是有效支持重用,使得大的程序也变得相对容易维护。
3.2面积对象的程序设计和面向过程的程序设计有什么区别?
面向过程语言编程模式是:
程序=数据结构+算法
编程时需要考虑和内容是的程序什么、怎么做、重点考虑每个实现的细节。
面向对象的语言的编程模式是:
程序=对象+消息
程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的哪一种方法。
3.3在程序中类和对象有什么区别?
类是同一种对象的描述,类概括了同类对象的共有性质:数据和方法。类的每个对象都有自己的标识,但它们具有相同的一级属性和提供相同的方法。
在程序中,对象的名称用于捐弃引用对象,对象的成员变量用于存储对象的状态值,对象和方法用于描述对象的行为。
3.4 类变量和实例变量,以及类方法和实例方法的区别。
加载类之前 创建对象之后 调用方法 访问权限
成员变量 实例变量 不分配内存 各个对象之间各自分配独立的内存空间 对象名.实例变量名 被实例方法,构造方法访问
类变量 直接分配内存 各个对象之间共享这段已经分配完的内存 对象名.类变量名;类名.类变量名 被实例方法,类方法,构造方法访问
成员方法 实例方法 不分配入口地址 共享一个入口地址 对象名.实例方法名 实例变量、类变量,实例方法、类方法
类方法 直接分配入口地址 共享这个入口地址 对象名.类方法名;类名.类方法名 类变量、类方法
3.5 子类能继承超类的哪些成员变量和方法?
同包继承 不同包继承(import进来的)
私有(private) 不继承 不继承