ネタ元:オブジェクト指向におけるFizzBuzz問題
# チラ裏と同一です。ごめんなさいEclipseのJava2Htmlを使ってみたかったテストです。スミマセン。
ってことでSoundインタフェースを別にしてみました。鳴かない動物はない、とのことでAnimalクラスにSoundableインタフェースをくっつけちゃいました。鳴かない動物をわける場合。
abstract class Animal
を親にもち、
abstract class SoundableAnimal extends Animal implements Soundable
っていうやつと
abstract class Disoundable Animal extends Animal
っていうのに分かれることになりますね。いろいろ問題点多いけれど、ここはひとつ多めにみてくださいまし。
import java.io.*; import java.lang.*;
/* 鳴けるインタフェース */ interface Soundable { public abstract void Sound(); public abstract void SetCount(int n); }
/* 動物クラス */ abstract class Animal implements Soundable { int sndCount ; String crystring; public Animal() { sndCount = 1; } public void SetCount(int n) { sndCount = n; } public void Sound() { for (int i = sndCount ; i > 0 ; --i ) { System.out.print(crystring); } System.out.println(); } }
class Dog extends Animal { public Dog() { crystring = "わん"; } }
class Cat extends Animal { public Cat() { crystring = "にゃー"; } }
public class Main { public static void main(String[] args) { Animal animal; animal = new Dog(); animal.Sound(); animal.SetCount(3); animal.Sound(); animal = new Cat(); animal.Sound(); } } |
|
投稿日時 : 2007年11月9日 11:26