>>286
たとえば、ファイルを圧縮するクラスを作ろうとしたと思いねぇ。

class FilePress {
  public void compress(String inputfile, String outputfile);
  public long expand(String pressedfile)
}

ところが、圧縮アルゴリズムはランレングスで実装したのだが、
あとからLZHやらZIPやらSITやらのアルゴリズムを追加したく
なったとする。圧縮アルゴリズムが増えるたびにメソッドを実装
しなおすのは効率が悪いので、

interface PressAlgorithm {
  public void compress(String inputfile, String outputfile);
  public long expand(String pressedfile)
}

abstract class FilePress imprements PressAlgorithm {
}

とかやっといて、FilePressLZHとかFilePressZIPとかのクラスを
FilePressから継承して作れば、追加アルゴリズムだけを作れば
すむことになる。