2013 年上半年软件设计师考试下午真题(权威解析+标准答案)
这段代码是多余的,是 C++代码中的,题目编辑的时候可能没注意,已经改过来了,给您带来的不便还
请见谅。
这图的意思不是继承吗?接口实现不是用虚线表示吗?
你好
你的理解是正确的,接口实现在 UML 图中是使用虚线表示的,此题在图的表示上存在不严谨之处,但
解答时我们还是需要结合题目所给的代码,在 java 中 Cloneable 是一个接口,因此(1)处填写 extends
显然不妥。实际上参看以前的考题,图的表示都存在这一问题,这也提醒我们考题中图仅供参
考,答题仍然要以题目所给代码语言为准。
你好,请教两个问题:1、如何判定 JAVA 程序填空(1)是填实现接口还是继承父类?
2、能否逐行解析一下 JAVA 程序中 RESUME 类?
你好
问题:1、如何判定 JAVA 程序填空(1)是填实现接口还是继承父类?
答:因为 Cloneable 在 java 中是一个接口,(1)空 你 填 extends,语法上不对,这里需要你有 java 基础,
如果不确定 Cloneable 是一个接口还是抽象
类,可以选作 c++题。
问题:2、能否逐行解析一下 JAVA 程序中 RESUME 类?
答:privateStringname;privateStringsex;privateStringage;privateWorkExperiencework;
定义 4 个成员属性 name、sex、age、work。
publicResume(stringname){this.name=name;work=newWorkExperience();}
根据传入的参数 name 构造 Resume(初始化成员属性 name
、work 的值)。
privateResume(WorkExperiencework){this.work=(4);}
根据传入的参数 work,克隆此 work 对象构造 Resume(初始化成员属性 work 的值)。
publicvoidSetPersonInfo(stringsex,stringage){/*实现省略*/}
用于设置成员属性 sex、age 的值 publicvoidSetWorkExperience(stringworkDate,stringcompany){/*实现省
略*/}
根据传入的 workDate,company 参数设置成员属性 work 的值。
publicObjectclone(){ResumeObj=(5);returnObj;}
实现 Cloneable 接口的 clone()方法。调用第二个构造方法 Resume(WorkExperiencework)克隆对象。
比如:Resumeb=(Resume)a.Clone();此处需要强转是因为 a.clone()传回的是 Object 对象【publicObject
clone()】,对象 a 调用实现 Clonea 接口的 Clone()方法,将自身克隆一份赋值给对象 b;而在 Clone()方法
中,会调用 Resume(WorkExperiencework)构造方法,将 a 的成员属性 work 克隆一份,这样对象 b 中的
work 成员属性的值就和 a 中的 work 的值一样。