高级程序设计JAVA离线作业(选) 下载本文

String connectNumber; boolean connected;

PhoneCard(long cn, int pw, double b, String s) { cardNumber = cn; password = pw; if(b>0) balance = b; else

System.exit(1); connectNumber = s; connected = false; }

boolean performConnection(long cn, int pw) { if(cn==cardNumber && pw ==password) { connected = true; return true; } else {

connected = false; return false; } }

double getBalance()

{

if(connected) return balance; else return -1; }

void performDial() {

if(connected) balance -=0.5; }

public String toString() {

String s = \\\\if(connected)

return(s+ \else

return(s+\

第五章

习题:

1. 什么是多态,多态有哪些方式?

答:多态性(Polymorphism来自希腊语,意思是多种形态)是指允许一

个接口访问动作的通用类的性质。一般地,多态性的概念常被解释为“一个接口,多种方法”。这意味着可以为一组相关活动设计一个通用接口。多态性允许用相同接口规定一个通用类来减轻问题的复杂度。选择适当的动作(方法)适应不同环境的工作则留给编译器去做。作为编程者,无需手工去做这些事情,只需利用通用接口即可。

多态的特点大大提高了程序的抽象程度和简洁性,更重要的是,它最大限度地降低了类和程序模块之间的耦合性,提高了类模块的封闭性,使得它们不需了解对方的具体细节,就可以很好地共同工作。这个优点对于程序的设计、开发和维护都有很大的好处。

2. 什么是接口?

3. 根据下面的要求编程实现复数类ComplexNumber (1) 复数类ComplexNumber的属性

m_dRealPart: 实部,代表复数的实数部分 m_dImaginPart: 虚部,代表复数的虚数部分 (2) 复数类ComplexNumber的方法

ComplexNumber() 构造函数,将实部,虚部都置为0

ComplexNumber(double r, double I) 构造函数,创建复数对象的同时完成复数的实部,虚部的初始化

GetRealPart() 获取实部

GetImaginaryPart() 获取虚部 SetRealPart(double d) 设置实部

SetImaginaryPart(double d) 设置虚部

ComplexAdd(ComplexNumber c) 复数相加 ComplexAdd(double c) 复数相加

ComplexMinus(ComplexNumber c) 复数相减 ComplexMinus(double c) 复数相减

ComplexMulti(ComplexNumber c) 复数相乘

ComplexMulti(double c) 复数相乘

ToString() 把当前复数对象的实部,虚部组合成a+bi的字符串形式

第六章

1.编写一个程序,要求能完成排序和查找,分别使用链表,数组和二叉树等数据结构,比较各种方法的优缺点。