Javaを書くようになっても
なかなかInterfaceをゴリゴリ使う機会って少なかったりします。
いや、実際に使えるようになるとめちゃくちゃ使うのですが
そもそもInterfaceと言うものを知らなかったりするのではないでしょうか?
そこで今日はInterfaceがどれぐらい便利か
好みの女の子を表現しつつ説明したいと思います。
例えば以下のようなInterfaceを作ったとします。
public interface Face { public String faceType(); public String hairLength(); public String hairColor(); public String lip(); public String eyes(); }
これを作る事で
皆でこれを利用して好みの女性の顔のタイプについて話せます。
しかし男性諸君!!!
理想の女性を考えるときに顔だけで判断するだろうか?
きっと顔だけで女性を判断するほど君はゲスではないだろう!
そう!!!
スタイルも大事だよね☆
そこで下記もあわせて実装するわけです。
public interface Style { public int height(); public int weight(); public ThreeSizeDto threeSize(); }
public class ThreeSizeDto { private int bon; private int kyu; private int hip; public ThreeSizeDto(int bon, int kyu, int hip){ this.bon = bon; this.kyu = kyu; this.hip = hip; } public int getBon() { return bon; } public int getKyu() { return kyu; } public int getHip() { return hip; } }
参考:【Java】頼むからDTOをしっかりと実装して欲しいお話
public class MokabuuIdealGirl implements Face, Style { public static final int myHeight = 170; @Override public int height() { int risou = myHeight - 15; return risou; } @Override public int weight() { // FIXME ここを実装すると世の中の女性に殺される return 0; } @Override public ThreeSizeDto threeSize() { // FIXME ここを実装すると世の中の女性に...ry return null; } @Override public String faceType() { String risou = "童顔"; return risou; } @Override public String hairLength() { String risou = "ロング"; return risou; } @Override public String hairColor() { String risou = "あまり気にしない"; return risou; } @Override public String lip() { String risou = "石原さとみ"; return risou; } @Override public String eyes() { // FIXME ネタ切れ return null; } }
こんな感じでInterfaceが生きてくるわけであります。
extendsだと1つのみなのに対してinterfaceは複数いけるのも特徴ですね!
そしてこのInterfaceを1回定義しておく事で
友人からも好みの女性のタイプを聴き出そうとした際に
こんな具合で聴き出せるのです。
public class PepegonIdealGirl implements Face, Style { public static final int myHeight = 180; @Override public int height() { int risou = myHeight - 15; return risou; } @Override public int weight() { // FIXME ここを実装すると世の中の女性に殺される return 0; } @Override public ThreeSizeDto threeSize() { // FIXME ここを実装すると世の中の女性に...ry return null; } @Override public String faceType() { String risou = "ちょっとキツめの綺麗系"; return risou; } @Override public String hairLength() { String risou = "ロング"; return risou; } @Override public String hairColor() { String risou = "明るい色"; return risou; } @Override public String lip() { String risou = "薄め"; return risou; } @Override public String eyes() { String eyes = "ちょっとキツい目つき"; return eyes; } }
Interfaceは「規格を統一するためのもの」なので
何か開発をする際はInterfaceをしっかりと考えてから
手を動かすと後々幸せになれます!!!
ちなみにMokabuuもPepegonも
実家で飼っているウサギの名前ですッ!
他意はありません(∀)
最後まで読んでいただきありがとうございます。もしこの記事を気に入って頂けたようであればシェアをお願い致します。非常に励みになります。