Lesson_8 作业_1 -- car和truck

本文详细介绍了如何使用面向对象编程创建交通工具基类及其子类,包括小汽车和卡车的具体实现。通过定义通用属性如品牌和颜色,以及特定属性如座位数和载重,展示了类的继承和多态性。

一.作业描述

  定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。

  编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。

  编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。

main方法中测试以上各类。

二.代码

 

  1 /************************************************************
  2 *                    Lesson_8 作业_1 -- car和truck
  3 *                         2013-01-18
  4 *                        by CocoonFan
  5 *
  6 *************************************************************
  7 *************************作业描述****************************
  8 *
  9 *    定义一个名为Vehicles(交通工具)的基类,该类中应包含String
 10 * 类型的成员属性brand(商标)和color(颜色),还应包含成员方法
 11 * run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,
 12 * 在控制台显示商标和颜色),并编写构造方法初始化其成员属性。
 13 *    编写Car(小汽车)类继承于Vehicles类,增加int型成员属性
 14 * seats(座位),还应增加成员方法showCar(在控制台显示小汽车的
 15 * 信息),并编写构造方法。
 16 *    编写Truck(卡车)类继承于Vehicles类,增加float型成员属性
 17 * load(载重),还应增加成员方法showTruck(在控制台显示卡车的
 18 * 信息),并编写构造方法。
 19 *    在main方法中测试以上各类。
 20 *************************************************************/
 21 public class TestVehicles {
 22     public static void main(String[] args) {
 23         Car car = new Car("宝马", "红色", 6);
 24         Truck truck = new Truck("福田", "蓝色", 7.5f);
 25         car.run();
 26         car.showCar();
 27         truck.showTruck();
 28     }
 29 }
 30 
 31 class Vehicles{
 32     private String brand;
 33     private String color;
 34     
 35     public Vehicles(String brand, String color){
 36         this.brand = brand;
 37         this.color = color;
 38     }
 39     
 40     public String getBrand() {
 41         return brand;
 42     }
 43     public void setBrand(String brand) {
 44         this.brand = brand;
 45     }
 46     public String getColor() {
 47         return color;
 48     }
 49     public void setColorString(String color) {
 50         this.color = color;
 51     }
 52     
 53     public void run(){
 54         System.out.println("我已经开动了");
 55     }
 56     
 57     public void showInfo(){
 58         System.out.println("车的商标是:" + brand);
 59         System.out.println("车的颜色是:" + color);
 60     }    
 61 }
 62 
 63 class Car extends Vehicles{
 64     int seats;
 65     
 66     public Car(String brand, String color, int seats){
 67         super(brand, color);
 68         this.seats = seats;
 69     }
 70 
 71     public int getSeats() {
 72         return seats;
 73     }
 74 
 75     public void setSeats(int seats) {
 76         this.seats = seats;
 77     }
 78     
 79     public void showCar(){
 80         super.showInfo();
 81         System.out.println("座位数量是:" + this.seats);
 82         System.out.println();
 83     }
 84 }
 85 
 86 class Truck extends Vehicles{
 87     float load;
 88     
 89     public Truck(String brand, String color, float load){
 90         super(brand, color);
 91         this.load = load;
 92     }
 93 
 94     public float getLoad() {
 95         return load;
 96     }
 97     public void setLoad(float load) {
 98         this.load = load;
 99     }
100 
101 
102 
103     public void showTruck(){
104         super.showInfo();
105         System.out.println("车的载重量是:" + this.load + "t");
106         System.out.println();
107     }
108 }

 

三.运行结果

 

转载于:https://www.cnblogs.com/CocoonFan/archive/2013/01/18/2867133.html

SEARCH_CAR_INDEX_ENTRY *car_info = (SEARCH_CAR_INDEX_ENTRY *)obj_info; SMART_DATA_OI_VEHICLE_RECOGNITION_VALUE_S value = { .type_sedan = car_info->car_attr[SMART_FIELD_TYPE_SEDAN], .type_suv = car_info->car_attr[SMART_FIELD_TYPE_SUV], .type_bus = car_info->car_attr[SMART_FIELD_TYPE_BUS], .type_microbus = car_info->car_attr[SMART_FIELD_TYPE_MICROBUS], .type_truck = car_info->car_attr[SMART_FIELD_TYPE_TRUCK], .color_white = car_info->car_attr[SMART_FIELD_COLOR_WHITE], .color_gray = car_info->car_attr[SMART_FIELD_COLOR_GRAY], .color_black = car_info->car_attr[SMART_FIELD_COLOR_BLACK], .color_red = car_info->car_attr[SMART_FIELD_COLOR_RED], .color_brown = car_info->car_attr[SMART_FIELD_COLOR_BROWN], .color_blue = car_info->car_attr[SMART_FIELD_COLOR_BLUE], .color_green = car_info->car_attr[SMART_FIELD_COLOR_GREEN], .color_yellow = car_info->car_attr[SMART_FIELD_COLOR_YELLOW], .color_special = car_info->car_attr[SMART_FIELD_COLOR_SPECIAL], .timestamp_start = car_info->start_time, .timestamp_end = car_info->end_time, }; if (0 != car_info->snapLen) { value.thumb = (U8 *)car_info + sizeof(SEARCH_CAR_INDEX_ENTRY); value.thumb_len = car_info->snapLen; }能否像这样去解析else if (motion.obj_type == SMART_DATA_OBJECT_TYPE_VEHICLE) { SMART_DATA_OI_VEHICLE_RECOGNITION_VALUE_S *vehicle = malloc(sizeof(*vehicle)); vehicle->type_sedan = *(p_buf + offset++); memcpy(&vehicle->timestamp_start, p_buf + offset, sizeof(uint64_t)); vehicle->timestamp_start = be64toh(vehicle->timestamp_start); offset += sizeof(uint64_t); memcpy(&vehicle->timestamp_end, p_buf + offset, sizeof(uint64_t)); vehicle->timestamp_end = be64toh(vehicle->timestamp_end); offset += sizeof(uint64_t); memcpy(&vehicle->thumb_len, p_buf + offset, sizeof(uint32_t)); vehicle->thumb_len = ntohl(vehicle->thumb_len); offset += sizeof(uint32_t); if (vehicle->thumb_len > 0) { vehicle->thumb = malloc(vehicle->thumb_len); memcpy(vehicle->thumb, p_buf + offset, vehicle->thumb_len); offset += vehicle->thumb_len; } recognition = vehicle; thumb_len = vehicle->thumb_len; thumb = vehicle->thumb; start_time = vehicle->timestamp_start; end_time = vehicle->timestamp_end; special_attr = vehicle->type_sedan;
最新发布
10-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值