-1

最初のサブクラスに車と速度の属性の色を追加するために、2 つのサブクラスを取得する方法を理解するのに苦労しています。これまでのところ私は持っています

public class ColorSpeed extends Vehicle {      

public int Truck;
public int Sedan;
public int SportsCar;
public ColorSpeed(int Truck,
int Sedan,
int SportsCar,{
super(Truck, Sedan, SportsCar);
CarSpeed = "60";
}   


public void CarSpeed, CarType(int newValue){

CarType = newValue;
CarSpeed = newValue;
CarColor = newValue;
}   
}

次のサブクラスでは、レギュラーとプレミアムの 2 種類の燃料を追加する必要があります。私は持っている

public class fuel extends ColorSpeed {


    public int Regular;
    public int premium;


    public ColorSpeed(int NumWheels,
                      int NumPassengers,
                      int TypeFuel,
    {
        super(NumWheels, NumPassengers, TypeFuel);
        CarSpeed = "60";
    }   


    public void Regular, Premium(int newValue){

        Regular = new Integer(2.00);  
        Premium = new Integer(3.00); 
    }   
}

私のメインクラスにはこれらのメソッドがあります:

車両クラス

  • コンストラクター メソッド

    • ユーザーからすべての属性情報を要求し、Vehicle オブジェクトを構築する引数なしのコンストラクター。
  • アクセサー メソッド

    • getNumWheels() – 車輪の数を int で返します
    • getNumPassengers() – int の乗客数を返します (ドライバーを含む)
    • getTypeFuel() – 車両が設計された燃料を文字列として返します
  • ミューテーター メソッド

    • setNumWheels(int) – 車両の車輪の数を設定します
    • setNumPassengers(int) – 車両の乗客数 (ドライバーを含む) を設定します
    • setTypeFuel(String) – 車両が設計された燃料を設定します

私は非常に新しく、本当に学びたいと思っており、どんな助けも大好きです!!

4

1 に答える 1

2

これは、継承を使用するためのあまり良い方法ではありません。

サブクラスは、それが表すオブジェクトがそのスーパークラスの「特別なケース」である場合にのみ作成する必要があります。

この領域でより理解しやすいケースは、 、、、およびVehicleによって拡張されたです。これらのサブクラスはすべて、そのスーパークラスの特殊なケースです。Vehicle は、長さ、高さ、重量、turningRadius などの同じ属性 (異なる値を持つ) である属性を持つことができますが、サブクラスは特殊なケースで異なる動作を示すことがあります。PassengerCarPickupTruckSemiRigBus

于 2013-11-06T04:00:10.107 に答える