交作業,有沒有哪位同學評價一下我的代碼,相互學習。
/*
* 程序思想
*1. 按照老師的要求敲的代碼,并能在MyEclipse 2014上跑起來
*2.?能夠根據讓用戶自己輸入交通工具能夠乘坐的人數
*3. 運用了前面學的知識,算做一種復習
*/
//父類Traffic代碼塊
package com.aslife.traffic;
//用于被各種類型交通工具子類繼承的父類
public class Traffic {
int trafficSums; //定義一個變量用于保存交通工具能乘坐乘客的數量
String trafficName; //定義一個變量用于保存交通工具的名稱
public void showData(){
System.out.println(trafficName + "這種交通工具能夠乘坐" + trafficSums + "人");
return ;
}
}
//子類Car代碼塊
package com.aslife.traffic;
//輸出汽車信息的之類
public class Car extends Traffic {
//擁有參的構造方法用于接收用戶輸入的信息
public Car(int newTrafficSums){
trafficName = "Car"; //修改父類的trafficName變量
trafficSums = newTrafficSums; //將用戶輸入的信息賦值給變量newTrafficSums
}
}
//子類Steamboat代碼塊
package com.aslife.traffic;
//輸出輪船信息的子類
public class Steamboat extends Traffic {
//擁有參的構造方法用于接收用戶輸入的信息
public Steamboat(int newTrafficSums){
trafficName = "Steamboat"; //修改父類的trafficName變量
trafficSums = newTrafficSums; //將用戶輸入的信息賦值給變量newTrafficSums
}
}
//子類Airplane代碼塊
package com.aslife.traffic;
//輸出飛機信息的子類
public class Airplane extends Traffic {
//擁有參的構造方法用于接收用戶輸入的信息
public Airplane(int newTrafficSums){
trafficName = "Airplane"; //修改父類的trafficName變量
trafficSums = newTrafficSums; //將用戶輸入的信息賦值給變量newTrafficSums
}
}
//入口類InitialTraffic代碼塊
package com.aslife.traffic;
import java.util.Scanner;
//入口類
public class InitialTraffic {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("請輸入汽車能乘坐的乘客數量:");
//創建對象car并通過Car方法類的構造函數根據用戶輸入的信息對Car方法類中的變量進行修改
Traffic car = new Car(input.nextInt());
car.showData();
System.out.println("請輸入輪船能乘坐的乘客數量:");
//創建對象steamboat并通過steamboat方法類的構造函數根據用戶輸入的信息對steamboat方法類中的變量進行修改
Traffic steamboat = new Steamboat(input.nextInt());
steamboat.showData();
System.out.println("請輸入飛機能乘坐的乘客數量");
//創建對象airplane并通過airplane方法類的構造函數根據用戶輸入的信息對airplane方法類中的變量進行修改
Traffic airplane ?= new Airplane(input.nextInt());
airplane.showData();
}
}
//歡迎各位同學指出缺點
2016-12-02
既然是由用戶輸入,我覺得可以加一個判斷,比如判斷輸入的是不是一個整數,是不是數值
2017-03-12
//修改父類的trafficName變量 ?你修改的這個變量有什么用?
2017-02-13
父類Traffic的showData()方法里的return;有什么作用?感覺多余了吧。
2016-12-19
學習到了。謝謝樓主
2016-12-08
原來如此
2016-12-07
其實能夠說下像這種多態的用處嗎?Traffic steamboat = new Steamboat();為何不直接寫成Steamboat steamboat = new Steamboat();不也一樣能繼承嗎?