[作成手順]
1.以下のようにabstractクラスAnimalを作成する。
public abstract class Animal{ protected String name; protected Animal(String name){ this.name=name; } public abstract void cry(); }
2.以下のようにCat,Dog,Pigクラスを作成する。
class Cat extends Animal{ public Cat(String name) { super(name); } @Override public void cry() { System.out.println(this.name+"はにゃーとないた"); } public void sleep(){ System.out.println("こたつですやすや"); } } class Dog extends Animal{ public Dog(String name) { super(name); } @Override public void cry() { System.out.println(this.name+"はワンと吠えた"); } } class Pig extends Animal{ public Pig(String name) { super(name); } @Override public void cry() { System.out.println(this.name+"はぶ~とないた"); } }
3.アプリケーションクラスとしてAnimalAppを作成し、以下の処理を実現せよ。
ただし、3匹の動物をAnimal型の配列にいれて処理を記述すること。
[実行例]
タマはにゃーとないた
こたつですやすや
ジョンはワンと吠えた
さぶはぶ~とないた
public class AnimalApp { public static void main(String[] args) { Animal[] animals={new Cat("タマ"),new Dog("ジョン"),new Pig("さぶ")}; for(Animal a:animals){ a.cry(); if(a instanceof Cat){ ((Cat)a).sleep(); } } } }
コメント