交作业,有没有哪位同学评价一下我的代码,相互学习。

来源:10-1 Java 中的多态

weibo_肖邦在对我微笑_0

2016-12-02 03:00

/*

* 程序思想

*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();

}


}

//欢迎各位同学指出缺点


写回答 关注

6回答

  • 芋头大芋头
    2016-12-02 11:24:17
    已采纳

    既然是由用户输入,我觉得可以加一个判断,比如判断输入的是不是一个整数,是不是数值

    weibo_...

    非常感谢!

    2016-12-02 21:00:09

    共 3 条回复 >

  • 短发我会多看你一眼丶
    2017-03-12 23:06:56

    //修改父类的trafficName变量  你修改的这个变量有什么用?

    weibo_...

    这个变量从父类继承过来用来储存车的名字的,注释的表达方式可能有点错误。

    2017-03-18 12:29:45

    共 1 条回复 >

  • _蓝草绿天
    2017-02-13 12:20:47

    父类Traffic的showData()方法里的return;有什么作用?感觉多余了吧。

    qq_兵冰宾...

    额是啊

    2017-04-09 23:18:10

    共 2 条回复 >

  • Knight灬彩虹
    2016-12-19 16:33:32

    学习到了。谢谢楼主

  • _Doogie
    2016-12-08 12:26:09

    原来如此

  • _Doogie
    2016-12-07 23:53:41

    其实能够说下像这种多态的用处吗?Traffic steamboat = new Steamboat();为何不直接写成Steamboat steamboat = new Steamboat();不也一样能继承吗?

    weibo_...

    按照我的理解就是,假如你不需要一个父类的子类对象转而需要这个父类对象引用指向另一个子类对象的时候不需要逐行修改代码。

    2016-12-08 12:27:36

    共 3 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530099 学习 · 6086 问题

查看课程

相似问题