第3章 类与对象—3
- 格式:ppt
- 大小:393.00 KB
- 文档页数:34
C++第三章课后答案C++第三章习题及答案1、什么是结构化程序设计?它有什么优缺点?所谓结构化程序设计,是一种自顶而下、逐步求精的模块化程序设计方法。
2、什么是对象?什么是类?简述对象与类之间的关系!对象是系统中用来描述客观事物的一个实体,它是用于构成系统的一个基本单位,而系统可以看作是由一系列相互作用的对象组成。
类定义了同类对象的公共属性和行为,属性用数据结构表示,行为用函数表示!《类=数据结构+对数据进行操作的函数》。
对象和类的关系相当于元素和集合的关系、变量和变量的“数据类型”的关系。
从程序设计的角度来说,类是一种复杂的自定义数据类型,对象是属于这种数据类型的变量。
3、什么是面向对象程序设计?面向对象程序设计方法具有哪些基本特征?请比较面向对象程序设计和面向对象过程程序设计有何异同?4、何谓成员变量?何谓成员函数?C++将对象的属性抽象为数据成员,将对象的行为抽象为成员函数。
5、C++中结构和类之间有何异同?结构在默认情况下的成员是公共的,而类在默认情况下的成员是私有的。
在C++中,结构是特殊的类。
6、在C++中如何定义类?如何实现定义的类?如何利用类申明对象?7、类的成员的访问权限有哪几种?请说明它们分别有什么作用?三种,privte:类的私有成员,只能被本类的成员函数访问或调用。
Public:公有成员,可以被本类的成员或其他类的成员函数(通过对象)访问或调用。
Protected:保护成员,可以被本类的成员函数或派生类的成员函数访问或调用。
8、何谓构造函数?何谓析构函数?请说明它们分别有什么作用?构造函数:不需要用户程序调用,就能在创建对象时由系统自动调用,其作用是在对象被创建时利用初始值去构造对象,使得在声明对象时就能自动完成对象的初始化。
析构函数:在对象的生存周期即将结束时由系统自动调用的,其作用是用来在对象被删除前做一些清理工作和数据保存工作。
9、如何定义一个内联成员函数?内联函:内联函数必须是和函数体申明在一起,才有效。
第3章面向对象程序设计基础【1】什么是Java程序使用的类?什么是类库?[解答]:Java程序的基本单位是类。
对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。
类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。
Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。
【2】如何定义方法?在面向对象程序设计中方法有什么作用?[解答]:方法的定义由两部分组成:方法声明和方法体。
方法声明的基本格式如下:返回类型方法名(形式参数){… //方法体内容}方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。
在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。
【3】简述构造方法的功能和特点。
下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。
void Student(int no,String name){studentNo=no;studentName=name;return no;}[解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。
构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。
以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。
编写Java程序创建student类的对象及测试其方法的功能。
读《像计算机科学家⼀样思考python》——笔记这本书,完全是⼊门级的,特别简单,⼀天多就看完。
⽬录:第⼆章变量、表达式和语句第三章:函数调⽤第四章:案例研究:接⼝设计第五章条件与递归第六章:有返回值的函数第七章迭代第⼋章字符串序列第⼗章:列表第⼗⼀章:字典第⼗⼆章元组第⼗四章⽂件第⼗五章类和对象第⼗六章类和函数第⼗七章类和⽅法第18章继承第⼆章变量、表达式和语句1. 变量的基本数据类型:python中有整型、长整型、浮点型、字符串型、复数形式5种。
2. 使⽤type( ),可以查看数据类型;如:type(2), type(‘xiaoming’) 等; type是⼀个函数;3. 数值操作符:1)加、减、乘、除、求模和乘⽅: + 、-、 *、/、% 和 **2)在python2中,除法 / 使⽤的是舍去式除法(整数相除为整数),即 2/3 结果为0;在python3中,除数结果为浮点数类型,即 2/3 =0.6666666666666……,并且使⽤⼀个新的操作符 // 表⽰舍去式除法 .3)操作顺序:乘⽅>乘除>加减4. 字符串可以使⽤的操作:1)拼接:使⽤ + ,如: ‘adfsa’+’adfds’ = ‘adfsaadfds’2) 重复操作:使⽤ * , 如: ‘abc’*3 = ‘abcabcabc’5. 注释与换⾏:# 我现在就是注释状态print'a'#换⾏使⽤ \ 符号;print'asdfggk\sdsfsf'第三章:函数调⽤1. python中内置的类型转换函数int 把浮点数转换为整数,它直接把⼩数部分舍去;如 int(3.999) = 3; ⼜或int(‘2’) = 2,它转换了字符串;float函数将整数和字符串转换为浮点数: float(32)=32.0 或 float(‘3.14159’) = 3.14159str函数将参数转换为字符串;2,定义⽆返回值的函数,定义⽅法如下, def + 函数名+() + :,函数体要有缩进:def hello():print'hello,world!'print'hello, yinheyi'3. python提供了两种导⼊模块的⽅式:⽅法⼀: import 模块名,如 import math , 这时如果访问模块⾥⾯的函数的时候,需要同时指明模块名与函数名,中间⽤ . 分隔;⽅法⼆: from 模块名 imort 函数名,这时,我们就可以直接使⽤这个函数名了,并且不需要指明模块名;使⽤ from 模块名import * 导⼊模块的所有成员;优缺点:第⼆⽅式可以使代码更简洁,但是,不同模块的同名成员之间,可能发⽣冲突;第四章:案例研究:接⼝设计1. ⼀个开发计划:1)最开始写⼀些⼩程序,⽽不需要函数定义;2)⼀旦程序成功运⾏,将它封装到⼀个函数中,并加以命名;3)泛化这个函数,添加合适的形参;4)可以使⽤重构来改善程序的机会,例如,如果发现程序中⼏处地⽅有相似的代码,可以⽼柴将它们抽取出来做⼀个合适的通⽤函数。