
代號:
頁次:
-
三、關於以下Java程式:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.*;
import java.util.ArrayList;
abstract class Fruit {
public Fruit(int sweetness) {this.sweetness = sweetness; }
public abstract String eat();
protected String taste() {
if (sweetness>0 && sweetness<5) return "no";
else if (sweetness<=10) return "little";
else if (sweetness<=15) return "some";
else if (sweetness<=20) return "more";
else return "super";
}
private int sweetness;
}
class Apple extends Fruit {
public Apple(String c, int s) { super(s); this.color = c; }
public String eat() { return color +":"+taste()+" sweetness "; }
private String color;
}
class Watermelon extends Fruit {
public Watermelon(String v, int s) { super(s); this.volume = v; }
public String eat() { return volume +":"+taste()+" sweetness "; }
private String volume;
}
public class Test {
public static void test01() {
ArrayList<Fruit> fs = new ArrayList<Fruit>();
fs.add(new Apple("red", 18));
fs.add(new Watermelon("big", 20));
fs.add(new Apple("green", 10));
fs.forEach((n) -> System.out.println(n.eat()));
}
public static void main(String[] args) throws InterruptedException {
test01();
}
}
請說明程式執行後其輸出與其運作程式碼行數順序。(12分)
請依下面表格,說明Fruit的設計功用,包含Fruit類別類型與功用以及方
法(method)。(13分)
Fruit類別類型與功用 Fruit方法功用 eat功用 taste功用
說明