2-23练习,还请老师指点不足之处,谢谢老师!!!

2-23练习,还请老师指点不足之处,谢谢老师!!!

1
2
3
4
5
6
7
8
9
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package extendstest;
 
public class NonMotor {
      // 私有属性:品牌、颜色、轮子(默认2个)、座椅(默认 1个)
    private String brand;
    private String color;
    private int wheel;
    private int sit;
        // 无参构造方法
    NonMotor(){
         
    }
        // 双参构造方法,完成对品牌和颜色的赋值
    NonMotor(String brand,String color){
        this.setBrand(brand);
        this.setColor(color);
         
    }
        // 四参构造方法,分别对所有属性赋值
    NonMotor(String brand,String color,int wheel,int sit){
        this.setBrand(brand);
        this.setColor(color);
        this.setWheel(wheel);
        this.setSit(sit);
    }
       // 公有的get***/set***方法完成属性封装
    public String getBrand() {
        return brand;
    }
    public void setBrand(String brand) {
        this.brand = brand;
    }
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
    public int getWheel() {
        return wheel;
    }
    public void setWheel(int wheel) {
        this.wheel = wheel;
    }
    public int getSit() {
        return sit;
    }
    public void setSit(int sit) {
        this.sit = sit;
    }
        // 方法:运行,描述内容为:这是一辆**颜色的,**牌的非机动车,有**个轮子,有**个座椅的非机动车。其中**的数据由属性提供
        public String work() {
            String str="这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的非机动车,有"+this.getWheel()+"个轮子,有"+this.getSit()+"个座椅的非机动车。";
            System.out.println(str);
            return str;
        }
}
 
=====================================
package extendstest;
 
public class ElectricVehicle extends NonMotor {
// 私有属性:电池品牌
    private String battrayBrand;
     ElectricVehicle(String battrayBrand){
         this.setBattrayBrand(battrayBrand);
     }
    // 公有的get***/set***方法完成属性封装
public String getBattrayBrand() {
        return battrayBrand;
    }
 
    public void setBattrayBrand(String battrayBrand) {
        this.battrayBrand = battrayBrand;
    }
    // 重写运行方法,描述内容为:这是一辆使用**牌电池的电动车。其中**的数据由属性提供
     
    public String work() {
        String str="这是一辆使用"+battrayBrand+"牌电池的电动车。";
        System.out.println(str);
        return str;
    }
}
========================
package extendstest;
 
public class Bicycle extends NonMotor {
     // 在构造方法中调用父类多参构造,完成属性赋值
    String brand;
    String color;
    Bicycle(String brand, String color){
        super(brand, color);
    }
        // 重写运行方法,描述内容为:这是一辆**颜色的,**牌的自行车。其中**的数据由属性提供
    public String work() {
        String str="这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的自行车";
        System.out.println(str);
        return str;
    }
}
 
=============================
package extendstest;
 
public class Tricycle extends NonMotor {
     // 在无参构造中实现对轮子属性值进行修改
    Tricycle(){
        this.setWheel(3);
    }
     
        // 重写运行方法,描述内容为:三轮车是一款有**个轮子的非机动车。其中**的数据由属性提供
    public String work() {
        String str="三轮车是一款有"+getWheel()+"个轮子的非机动车。";
        System.out.println(str);
        return str;
    }
}
 
=================================
package extendstest;
 
public class Test {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.print("父类信息测试:");
         new NonMotor("天宇""红"42).work();
        System.out.print("自行车类信息测试:");
          new Bicycle("捷安特""黄").work();
        System.out.print("电动车类信息测试:");
          new ElectricVehicle("飞鸽").work();
        System.out.print("三轮车类信息测试:");
        new  Tricycle().work();
    }
 
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2019-07-30 15:00:28

同学的代码整体完成的不错,但是还存在一些问题,具体如下:

1、NonMotor类中,根据题目要求,轮子(默认2个)、座椅(默认   1个),所以建议在定义属性时就给出默认值,比如:

http://img1.sycdn.imooc.com//climg/5d3fea550001cf3301980128.jpg

2、构造方法建议加上访问修饰符public。

3、work()方法不需要返回值,建议将其定义为void无返回值的方法。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码