Skip to content

Instantly share code, notes, and snippets.

@tksmaru
Created April 16, 2013 16:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tksmaru/5397430 to your computer and use it in GitHub Desktop.
Save tksmaru/5397430 to your computer and use it in GitHub Desktop.
適切なインターフェース型が存在しない例のその2
public class InterfaceTest {
public static void main(String[] args) {
// 基底クラスで型を宣言
CoreSysMember member = new Ohta();
//CoreSysMember member = new ItashikiPro();
System.out.println(member.getName());
}
/**
* コアシスメンバーの基底クラス
*/
public static abstract class CoreSysMember {
/**
* メンバーの名前を取得します。
* @return
*/
public abstract String getName();
/**
* コアシスは女子禁制なので常にtrueを返します。
*
* @return true以外返すことはありません
*/
public boolean isMale() {
return true;
}
}
/**
* コアシスメンバーの実装です
*/
public static class Ohta extends CoreSysMember {
@Override
public String getName() {
return "Ohta";
}
}
/**
* コアシスメンバーの別実装です
*/
public static class ItashikiPro extends CoreSysMember {
@Override
public String getName() {
return "Itashiki";
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment