我正在上网,我在这项任务中遇到了一些麻烦。
我遇到第1部分和第34部分的问题;默认构造函数将每个属性初始化为不存在的鞋子的合理默认值。"
以下是我所拥有的:
鞋
( - )style:String
( - )color:String
( - )size:整数
(+)setSyle(s:String)
(+)setColor(c:String)
(+)setSize(z:Integer)
(+)getSyle():String
(+)getColor():String
(+)getSize():Integer
分配:
Showy Shiny Shoe Store出售不同风格的鞋子,如凉鞋和休闲鞋。每种款式的鞋子都有不同的颜色,如棕色和黑色。可供选择的鞋子尺码从5码到11码不等,包括整码和半码。通过执行以下操作设计面向对象的计算机程序:
第一部分
。创建Shoe类的类图,其中包含鞋子的样式,鞋子的颜色和大小。这种风格的有效价值的例子是"凉鞋"和"行走"。颜色的有效值的示例是" brown"和"黑"。大小的有效值的示例是6.5和9.0。请务必为属性选择最合适的数据类型。对于此类定义,请包括以下内容:
编写在第一部分的类图中设计的Shoe类的伪代码。 第III部分 -
使用main()模块为鞋店的应用程序编写伪代码,该模块实例化Shoe类的两个对象。第一个对象应该命名为nerdShoes并使用默认构造函数。第二个对象应命名为coolShoes,并使用第二个构造函数将样式初始化为"凉鞋",颜色为" brown",大小为8.5。在main()方法中包含以下指令,顺序如下: 调用将nerdShoes的颜色设置为" tan"。 呼吁将nerdShoes的风格设置为“步行" 调用将nerdShoes的大小设置为9.5。 使用适当的方法调用显示nerdShoes样式的语句。 呼吁将coolShoes的颜色更改为"紫色"。 使用适当的方法调用显示coolShoes样式的语句。
答案 0 :(得分:2)
通常我不回答整个代码,因为这是你需要处理的事情。当你自己尝试时,你会学到更多,更好。
但是我会发送我的建议,因为我喜欢UML问题......(虽然这里面是简单的UML)。
但我想知道为什么使用size作为整数?你提到你需要一半的尺码?我的建议是使用例如float
。
package theshowyshinyshoestore;
public class Shoe {
String style;
float size;
String color;
public Shoe() {
setStyle("unknown");
setSize(0);
setColor("unknown");
}
public Shoe(String style, float size, String color) {
setStyle(style);
setSize(size);
setColor(color);
}
public void setStyle( String style ) {
//perform checks for valid style
//...
this.style = style;
}
public void setSize( float size ) {
//perform checks for valid size
//...
this.size = size;
}
public void setColor( String color ) {
//perform checks for valid colors
//...
this.color = color;
}
public String getStyle() {
return this.style;
}
public float getSize() {
return this.size;
}
public String getColor() {
return this.color;
}
public String toString() {
return "Style: " + this.style + " Size: " + this.size + " Color: " + this.color;
}
public static void main(String[] argv) {
Shoe nerdShoes = new Shoe();
Shoe coolShoes = new Shoe("sandals", 8.5f, "brown");
System.out.println( "nerdShoes: " + nerdShoes );
System.out.println( "coolShoes: " + coolShoes );
nerdShoes.setColor("tan");
nerdShoes.setStyle("walking");
nerdShoes.setSize(9.5f);
coolShoes.setColor("purple");
System.out.println( "nerdShoes: " + nerdShoes );
System.out.println( "nerdShoes style: " + nerdShoes.getStyle() );
System.out.println( "coolShoes style: " + coolShoes.getStyle() );
}
}
答案 1 :(得分:0)
通过不接受任何参数来标识默认构造函数。我对默认值的猜测是它们是变量的一些占位符值。可能的解决方案可能如下所示:
public Shoe(){ this.style = ""; this.color = ""; this.size = 0; }