オープンクローズの原則とは、拡張に対してオープンで、変更に対してクローズであることを知っています。次の例を考えてみましょう
public class Vehicle{
public void service(){
//vehicle servicing code
}
}
public class Bike extends Vehicle{
public void service(){
// bike specific servicing
}
}
これで、Open Closed Principle を使用してBike
クラスが拡張され、新しい機能が追加されたことがわかります。Vehicle
Vehicle
クラスのjarファイルを作成し、クラスがjarからBike
クラスを拡張するとしますVehicle
。この場合、Vehicle
クラスを変更してBike
拡張することはできません。オープンクローズド原則の良い例ですか?OCP が継承とどう違うのか知りたい