【Java】Interfaceを使って好みの異性のタイプを伝えよう!


Interfaceって何?
Javaを書くようになっても
なかなかInterfaceをゴリゴリ使う機会って少なかったりします。

いや、実際に使えるようになるとめちゃくちゃ使うのですが
そもそも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も
実家で飼っているウサギの名前ですッ!
他意はありません(∀)

547815_389941194395063_1307989551_n


最後まで読んでいただきありがとうございます。もしこの記事を気に入って頂けたようであればシェアをお願い致します。非常に励みになります。


コメントを残す