交通工具类

– 在bzu.aa中定义一个交通工具类(Vehicle

属性——载客量capacity

n 方法

u 无参构造方法(给capacity初始化值为2,并输出“执行交通工具无参构造方法。”)

u 有参构造方法(传给capacity初始化,并输出“执行交通工具的有参构造方法。”)

u capacity的setget方法

u print方法输出capacity

– 在bzu.aa中定义一个汽车类Car)继承交通工具类

n 属性——speed

n 方法

u 无参构造方法(给speed初始化值为0,并输出“执行汽车类无参构造方法。”)

u 有参构造方法(用super关键字调用父类的有参构造方法,给speed初始化,并输出“执行汽车类有参构造方法。”)

u 加速speedup:speed+10并返回speed

u 减速speeddown:speed-15并返回speed

u 重写print方法:输出speedcapacity

– 在bzu.bb中定义一个final公交车类(Bus继承汽车类:

属性——载客量capacity<变量隐藏>

n 方法

u 无参构造方法(给capacity初始化值为20,并输出“执行公交车类无参构造方法。”)

u 有参构造方法(用super关键字调用父类的有参构造方法,给capacity初始化,并输出“执行公交车类有参构造方法。”)

u 重写print方法:输出speed、 capacity及父类的capacity

– 在bzu.bb中编写一个主类Test

n 主函数

u 调用无参构造方法创建一个Car的对象car;调用加速方法将速度加至50调用print方法;调用减速方法,将速度减至20调用print方法。

u 调用有参构造方法创建一个Bus的对象bus;调用print方法。


package bzu.aa;


public class Vehicle {
protected int capacity;
Vehicle(){
capacity=2;
System.out.println("执行交通工具类的无参构造方法");
}
Vehicle(int capacity){
this.capacity=capacity;
System.out.println("执行交通工具类的有参构造方法");
}
void setcapacity(int capacity){
this.capacity= capacity;
}
int getcapacity(){
return capacity;
}
protected void print(){
System.out.println(capacity);
}
}


package bzu.aa;


public class Car extends Vehicle {
protected int speed;
public Car(){
speed=0;
System.out.println("执行汽车类的无参构造方法");
}
public Car(int speed){
super();
this.speed=speed;
System.out.println("执行汽车类的有参构造方法");
}
public int speedup(){
speed+=10;
return speed;
}
public int speeddown(){
speed-=15;
return speed;
}
public void print(){
System.out.println(speed);
System.out.println(capacity);
}


}


package bzu.bb;
import bzu.aa.Car;
public final class Bus extends Car {
int capacity;
public Bus(){
capacity=20;
System.out.println("执行公交车类的无参构造方法");
}
public Bus(int capacity){

this.capacity=capacity;
System.out.println("执行公交车类的有参构造方法");
}
public void print(){
super.print();
System.out.println(super.speed);
System.out.println(capacity);
System.out.println(super.capacity);
}
}


package bzu.bb;


import bzu.aa.Car;


public class Test {
public static void main(String args[]){
Car car=new Car();
int speed=0;
for(speed=car.speedup();speed<50;){
speed=car.speedup();
}
car.print();
for(speed=car.speeddown();speed>20;){
speed=car.speeddown();
}
car.print();
Bus bus=new Bus(25);
bus.print();
}
}


### Java 中交通工具的实现与示例 在 Java 编程语言中,创建一个 `Transport` 可以作为所有交通工具的基础抽象。此可能包含通用属性和行为,如速度、载客量以及启动和停止的方法。 #### 定义基础 Transport ```java public abstract class Transport { protected String name; protected int capacity; public Transport(String name, int capacity) { this.name = name; this.capacity = capacity; } // 抽象方法,子必须实现此方法来描述如何移动 public abstract void move(); @Override public String toString() { return "This is a transport named " + name + ", with passenger capacity of " + capacity; } } ``` 上述代码展示了如何定义一个名为 `Transport` 的抽象基[^1]。该具有两个受保护成员变量用于存储名称 (`name`) 和乘客容量 (`capacity`)。构造函数初始化这些字段,并提供了一个抽象方法 `move()` 来让派生自行决定其运动方式。 #### 创建具体型的运输工具 下面的例子实现了两种不同形式的具体运输工具——汽车 (Car) 和飞机 (Airplane),它们都继承自 `Transport` 基: ```java // Car 继承于 Transport 并重写了 move 方法 class Car extends Transport { private boolean hasWheels; public Car(String name, int capacity, boolean hasWheels) { super(name, capacity); this.hasWheels = hasWheels; } @Override public void move() { System.out.println("The car moves on roads using wheels."); } } // Airplane 同样继承于 Transport 但是有不同的移动逻辑 class Airplane extends Transport { private double altitude; public Airplane(String name, int capacity, double initialAltitude) { super(name, capacity); this.altitude = initialAltitude; } @Override public void move() { System.out.println("The airplane flies at an altitude of " + altitude + " meters above ground level."); } } ``` 这段代码片段说明了如何通过扩展基本传输别来构建更具体的实体,比如带有轮子行驶在路上的小轿车(Car)[^2] 或者是在空中飞行并指定高度值的喷气式客机(Airplane)。 #### 使用实例化对象展示功能 最后一步是实际创建一些实例并通过调用相应的方法观察结果: ```java public static void main(String[] args){ // 创建一个新的小轿车对象 Car myCar = new Car("Toyota Corolla", 5, true); // 打印有关这辆车的信息 System.out.println(myCar.toString()); // 调用车辆特有的动作 myCar.move(); // 创建一架新的飞机对象 Airplane myPlane = new Airplane("Boeing 747", 400, 10000); // 输出关于这架飞机的数据 System.out.println(myPlane.toString()); // 让飞机执行特定的行为 myPlane.move(); } ``` 当运行以上程序时将会依次显示每种车辆的相关信息及其独特的行动模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值