0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

インタフェースとアブストラクト

Posted at

インタフェース。。メインルーチンなど、呼び出し側のロジックを共通化しやすくするための仕組み。引数と返却値を定義して実現する。

アブストラクト。。呼び出される側の内部処理を共通化しやすくするための仕組み。処理を定義して実現する。

Qiitaをググれば記事はいくらでも出てくるんだけど、自分の頭を整理するために書いてみた。

たとえば、郵便局の荷物出荷アプリケーションを考えてみる。

荷物を出荷するには、出荷明細が必要だ。この作成処理は、荷物をどう送るかに関わらず共通の処理をしていそうだ。

荷物を数える、種類ごとに分類する、など。

ならば、アブストラクトで共通化しよう。

いっぽう、荷物の出荷方法はどうか?パック便、冷凍便、メール便、通常便など、送る方法は色々ある。

けれども、「宛名」「送り主」「出荷料金」など、荷物を送る側が用意する情報は一緒になりそうだ。

であれば、インタフェースで統一化しよう。

こんな感じで考えている。しかし、Javaをまともに使ったことがないので、実際のところ曖昧な理解のままだ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?