-2

私は実際に一般的な回答または主題に関する情報へのリンクを探していますが、質問は特定の例で最もよく説明されていると思います:

元。1:

class Car {

}

class Sedan extends Car {

}

// ... etc. where 10+ classes will extend Car

元。2:

class Car {

    public enum CarId {
    SEDAN,
    COUPE,
    // ...
    }

    public Car(CarId id) {
        //...
    }
}

この場合、Sedan、Coupe などはそれほど複雑ではないと仮定します (おそらく、null である場合とない場合がある単一のフィールド。つまり、使用するフィールドと使用しないフィールドがあります)。

これらはそれぞれどのような状況で使用されますか? どちらを使用するかを決定する問題の特定の特性は何ですか? 具体的には、なぜ最初のものではなく 2 番目のものを使用するのでしょうか。 それがいかに曖昧で、反対票を投じる必要があるのか​​ わかりません。この質問は、継承とは何か、列挙型とは何かを尋ねません。反対票を投じる理由を入力してください。

研究努力を示すことができない:
これは非常に具体的です。私が尋ねている唯一の理由は、例をググることができないからです。これが理由である場合は、少なくとも情報源を提供してください。

あいまい:
非常に具体的です。

役に立つ:
両方を使用できる状況に直面しています。決定するために何を探すべきかについての情報を使用できます。

4

1 に答える 1

2

このように考えてください:

車はオブジェ。OOP では、オブジェクトには状態 (プロパティ/属性とも呼ばれます)、動作があります。

オブジェクトの状態はクラス フィールドを使用して表現され、オブジェクトの動作はメソッドを使用して表現されます。

さて、あなたの例では、車はオブジェクトであり、車のプロパティは名前、ブランドなどです. 車の動作は、applyBrakse()、accelarate() などになります。

したがって、以下のように Car オブジェクトを作成します。

class Car {

    private String name;
    private String brand;
    private String type;
    // ...... other properties

    // constructor, getter and setter methods

    public void applyBrakes() {
        // code to apply brakes
    }

    public void accelarate() {
        // code to apply brakes
    }

    // ... other behavioral methods

}
于 2012-12-29T05:59:01.477 に答える