コンポジットパターンだったか、ファイルとディレクトリが典型アレ、
なんか設計というかファイルとデレクトリで使うには適してないと思うですけどどうですか?
ファイルの方は抽象クラスで宣言されてるメソッドを使わないから、例外発生とかですよね。せんせ!