//抽象クラス
abstract class Vehicle{
protected int speed;
public void setSpeed(int s){
speed = s;
System.
out.
println("速度を"+speed
+"にしました。"); }
//抽象メソッド
abstract void show();
}
//サブクラス
class Car extends Vehicle{
private int num;
private double gas;
public Car(int n,double g){
num = n;
gas = g;
System.
out.
println("ナンバーを"+num
+"、ガソリン量"+gas
+"の車を作成しました。"); }
//抽象クラスのshow()を定義
public void show(){
System.
out.
println("車のナンバーは"+num
+"です。"); System.
out.
println("ガソリン量は"+gas
+"です。"); System.
out.
println("速度は"+speed
+"です。"); }
}
//抽象クラスを拡張
class Plane extends Vehicle{
private int flight;
public Plane(int f){
flight = f;
System.
out.
println("便"+flight
+"の飛行機を作成しました。。"); }
//抽象クラスのshow()を定義
public void show(){
System.
out.
println("飛行機の便は"+flight
+"です。"); System.
out.
println("速度は"+speed
+"です。"); }
}
class Main{
public static void main
(String[] args
){ //抽象クラスの配列用意
Vehicle[] vc;
vc = new Vehicle[2];
//1番目のオブジェクトはCarクラス
vc[0] = new Car(1234,20.5);
vc[0].setSpeed(60);
//2番目のオブジェクトはPlaneクラス
vc[1] = new Plane(232);
vc[1].setSpeed(500);
for(int i =0;i<vc.length;i++){
vc[i].show();
}
}
}
Ly/mir3osaHjgq/jg6njgrkKYWJzdHJhY3QgY2xhc3MgVmVoaWNsZXsKCXByb3RlY3RlZCBpbnQgc3BlZWQ7CglwdWJsaWMgdm9pZCBzZXRTcGVlZChpbnQgcyl7CgkJc3BlZWQgPSBzOwoJCVN5c3RlbS5vdXQucHJpbnRsbigi6YCf5bqm44KSIitzcGVlZCsi44Gr44GX44G+44GX44Gf44CCIik7Cgl9CgoJLy/mir3osaHjg6Hjgr3jg4Pjg4kKCWFic3RyYWN0IHZvaWQgc2hvdygpOwp9CgovL+OCteODluOCr+ODqeOCuQpjbGFzcyBDYXIgZXh0ZW5kcyBWZWhpY2xlewoJcHJpdmF0ZSBpbnQgbnVtOwoJcHJpdmF0ZSBkb3VibGUgZ2FzOwoJCglwdWJsaWMgQ2FyKGludCBuLGRvdWJsZSBnKXsKCQludW0gPSBuOwoJCWdhcyA9IGc7CgkJU3lzdGVtLm91dC5wcmludGxuKCLjg4rjg7Pjg5Djg7zjgpIiK251bSsi44CB44Ks44K944Oq44Oz6YePIitnYXMrIuOBrui7iuOCkuS9nOaIkOOBl+OBvuOBl+OBn+OAgiIpOwoJfQoJCgkvL+aKveixoeOCr+ODqeOCueOBrnNob3coKeOCkuWumue+qQoJcHVibGljIHZvaWQgc2hvdygpewoJCVN5c3RlbS5vdXQucHJpbnRsbigi6LuK44Gu44OK44Oz44OQ44O844GvIitudW0rIuOBp+OBmeOAgiIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigi44Ks44K944Oq44Oz6YeP44GvIitnYXMrIuOBp+OBmeOAgiIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigi6YCf5bqm44GvIitzcGVlZCsi44Gn44GZ44CCIik7Cgl9Cn0KLy/mir3osaHjgq/jg6njgrnjgpLmi6HlvLUKY2xhc3MgUGxhbmUgZXh0ZW5kcyBWZWhpY2xlewoJcHJpdmF0ZSBpbnQgZmxpZ2h0OwoJCglwdWJsaWMgUGxhbmUoaW50IGYpewoJCWZsaWdodCA9IGY7CgkJU3lzdGVtLm91dC5wcmludGxuKCLkvr8iK2ZsaWdodCsi44Gu6aOb6KGM5qmf44KS5L2c5oiQ44GX44G+44GX44Gf44CC44CCIik7Cgl9CgkKCS8v5oq96LGh44Kv44Op44K544Guc2hvdygp44KS5a6a576pCglwdWJsaWMgdm9pZCBzaG93KCl7CgkJU3lzdGVtLm91dC5wcmludGxuKCLpo5vooYzmqZ/jga7kvr/jga8iK2ZsaWdodCsi44Gn44GZ44CCIik7CgkJU3lzdGVtLm91dC5wcmludGxuKCLpgJ/luqbjga8iK3NwZWVkKyLjgafjgZnjgIIiKTsKCX0KfQoKY2xhc3MgTWFpbnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKXsKCQkvL+aKveixoeOCr+ODqeOCueOBrumFjeWIl+eUqOaEjwoJCVZlaGljbGVbXSB2YzsKCQl2YyA9IG5ldyBWZWhpY2xlWzJdOwoJCQoJCS8vMeeVquebruOBruOCquODluOCuOOCp+OCr+ODiOOBr0NhcuOCr+ODqeOCuQoJCXZjWzBdID0gbmV3IENhcigxMjM0LDIwLjUpOwoJCXZjWzBdLnNldFNwZWVkKDYwKTsKCQkKCQkvLzLnlarnm67jga7jgqrjg5bjgrjjgqfjgq/jg4jjga9QbGFuZeOCr+ODqeOCuQoJCXZjWzFdID0gbmV3IFBsYW5lKDIzMik7CgkJdmNbMV0uc2V0U3BlZWQoNTAwKTsJCQoJCQoJCWZvcihpbnQgaSA9MDtpPHZjLmxlbmd0aDtpKyspewoJCQl2Y1tpXS5zaG93KCk7CgkJfQoJfQp9