5段階目(Mainでポリモーフィズムを使おう)
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
public abstract class BaseData {
|
public abstract class BaseData {
|
||||||
public abstract String toString();
|
public abstract String toString();
|
||||||
|
|
||||||
|
|||||||
@@ -35,19 +35,6 @@ public class EmployeeData extends BaseData {
|
|||||||
+ "\t" + this.password + "\t" + this.idDepartment;
|
+ "\t" + this.password + "\t" + this.idDepartment;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isMatchId(String id) {
|
|
||||||
return getIdEmployee().equals(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isMatchId(EmployeeData[] employees, String id) {
|
|
||||||
for (EmployeeData e : employees) {
|
|
||||||
if (e.isMatchId(id))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIdEmployee() {
|
public String getIdEmployee() {
|
||||||
return idEmployee;
|
return idEmployee;
|
||||||
}
|
}
|
||||||
@@ -122,5 +109,4 @@ public class EmployeeData extends BaseData {
|
|||||||
public String getPrimaryKeyValue() {
|
public String getPrimaryKeyValue() {
|
||||||
return this.idEmployee;
|
return this.idEmployee;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,54 +4,66 @@ public class Main {
|
|||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("会社名:" + EmployeeData.COMPANY_NAME);
|
System.out.println("会社名:" + EmployeeData.COMPANY_NAME);
|
||||||
|
|
||||||
EmployeeData employee = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ",
|
BaseData employee = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ",
|
||||||
"yamada@hoge.jp", "aaa", "10");
|
"yamada@hoge.jp", "aaa", "10");
|
||||||
System.out.println(employee.toCSV());
|
System.out.println(employee.toCSV());
|
||||||
System.out.println(employee.getPrimaryKeyValue());
|
System.out.println(employee.getPrimaryKeyValue());
|
||||||
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
EmployeeData[] employees = new EmployeeData[5];
|
BaseData[] employees = new BaseData[5];
|
||||||
for (int i = 0; i < employees.length; i++) {
|
|
||||||
employees[i] = new EmployeeData();
|
|
||||||
}
|
|
||||||
|
|
||||||
employees[0].setIdEmployee("10000");
|
//setterがBaseData.javaにはないためコンストラクタで代入
|
||||||
employees[0].setNmEmployee("山田龍也");
|
// for (int i = 0; i < employees.length; i++) {
|
||||||
employees[0].setKnEmployee("ヤマダタツヤ");
|
// employees[i] = new EmployeeData();
|
||||||
employees[0].setMailAddress("yamada@hoge.jp");
|
// }
|
||||||
employees[0].setPassword("aaa");
|
//
|
||||||
employees[0].setIdDepartment("10");
|
// employees[0].setIdEmployee("10000");
|
||||||
|
// employees[0].setNmEmployee("山田龍也");
|
||||||
|
// employees[0].setKnEmployee("ヤマダタツヤ");
|
||||||
|
// employees[0].setMailAddress("yamada@hoge.jp");
|
||||||
|
// employees[0].setPassword("aaa");
|
||||||
|
// employees[0].setIdDepartment("10");
|
||||||
|
//
|
||||||
|
// employees[1].setIdEmployee("10001");
|
||||||
|
// employees[1].setNmEmployee("高橋準\t");
|
||||||
|
// employees[1].setKnEmployee("タカハシジュン");
|
||||||
|
// employees[1].setMailAddress("jtaka@hoge.jp");
|
||||||
|
// employees[1].setPassword("bbb");
|
||||||
|
// employees[1].setIdDepartment("10");
|
||||||
|
//
|
||||||
|
// employees[2].setIdEmployee("10002");
|
||||||
|
// employees[2].setNmEmployee("麻枝史明");
|
||||||
|
// employees[2].setKnEmployee("マエダフミアキ");
|
||||||
|
// employees[2].setMailAddress("fmak@hoge.jp");
|
||||||
|
// employees[2].setPassword("ccc");
|
||||||
|
// employees[2].setIdDepartment("11");
|
||||||
|
//
|
||||||
|
// employees[3].setIdEmployee("10003");
|
||||||
|
// employees[3].setNmEmployee("丸戸章介");
|
||||||
|
// employees[3].setKnEmployee("マルトショウスケ");
|
||||||
|
// employees[3].setMailAddress("marusyo@hoge.jp");
|
||||||
|
// employees[3].setPassword("ddd");
|
||||||
|
// employees[3].setIdDepartment("12");
|
||||||
|
//
|
||||||
|
// employees[4].setIdEmployee("10004");
|
||||||
|
// employees[4].setNmEmployee("三宅武\t");
|
||||||
|
// employees[4].setKnEmployee("ミヤケタケシ");
|
||||||
|
// employees[4].setMailAddress("miya@hoge.jp");
|
||||||
|
// employees[4].setPassword("eee");
|
||||||
|
// employees[4].setIdDepartment("13");
|
||||||
|
employees[0] = new EmployeeData("10000", "山田龍也", "ヤマダタツヤ",
|
||||||
|
"yamada@hoge.jp", "aaa", "10");
|
||||||
|
employees[1] = new EmployeeData("10001", "高橋準", "タカハシジュン",
|
||||||
|
"jtaka@hoge.jp", "bbb", "10");
|
||||||
|
employees[2] = new EmployeeData("10002", "麻枝史明", "マエダフミアキ",
|
||||||
|
"fmak@hoge.jp", "ccc", "11");
|
||||||
|
employees[3] = new EmployeeData("10003", "丸戸章介", "マルトショウスケ",
|
||||||
|
"marusyo@hoge.jp", "ddd", "12");
|
||||||
|
employees[4] = new EmployeeData("10004", "三宅武", "ミヤケタケシ",
|
||||||
|
"miya@hoge.jp", "eee", "13");
|
||||||
|
|
||||||
employees[1].setIdEmployee("10001");
|
for (BaseData e : employees) {
|
||||||
employees[1].setNmEmployee("高橋準\t");
|
|
||||||
employees[1].setKnEmployee("タカハシジュン");
|
|
||||||
employees[1].setMailAddress("jtaka@hoge.jp");
|
|
||||||
employees[1].setPassword("bbb");
|
|
||||||
employees[1].setIdDepartment("10");
|
|
||||||
|
|
||||||
employees[2].setIdEmployee("10002");
|
|
||||||
employees[2].setNmEmployee("麻枝史明");
|
|
||||||
employees[2].setKnEmployee("マエダフミアキ");
|
|
||||||
employees[2].setMailAddress("fmak@hoge.jp");
|
|
||||||
employees[2].setPassword("ccc");
|
|
||||||
employees[2].setIdDepartment("11");
|
|
||||||
|
|
||||||
employees[3].setIdEmployee("10003");
|
|
||||||
employees[3].setNmEmployee("丸戸章介");
|
|
||||||
employees[3].setKnEmployee("マルトショウスケ");
|
|
||||||
employees[3].setMailAddress("marusyo@hoge.jp");
|
|
||||||
employees[3].setPassword("ddd");
|
|
||||||
employees[3].setIdDepartment("12");
|
|
||||||
|
|
||||||
employees[4].setIdEmployee("10004");
|
|
||||||
employees[4].setNmEmployee("三宅武\t");
|
|
||||||
employees[4].setKnEmployee("ミヤケタケシ");
|
|
||||||
employees[4].setMailAddress("miya@hoge.jp");
|
|
||||||
employees[4].setPassword("eee");
|
|
||||||
employees[4].setIdDepartment("13");
|
|
||||||
|
|
||||||
for (EmployeeData e : employees) {
|
|
||||||
System.out.println(e);
|
System.out.println(e);
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@@ -60,38 +72,20 @@ public class Main {
|
|||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
//nullおよび前後の空白を取り除いた結果が空文字チェック
|
//nullおよび前後の空白を取り除いた結果が空文字チェック
|
||||||
EmployeeData emp = new EmployeeData("10000", "デフォルト", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
|
// BaseData emp = new EmployeeData("10000", "デフォルト", "ヤマダタツヤ", "yamada@hoge.jp", "aaa", "10");
|
||||||
System.out.println(emp);
|
// System.out.println(emp);
|
||||||
emp.setNmEmployee(null);
|
// (EmployeeData)emp.setNmEmployee(null);
|
||||||
System.out.println(emp);
|
// System.out.println(emp);
|
||||||
emp.setNmEmployee(" ");
|
// emp.setNmEmployee(" ");
|
||||||
System.out.println(emp);
|
// System.out.println(emp);
|
||||||
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
EmployeeData emptyEmployee = new EmployeeData("", "", "", "", "", "");
|
BaseData emptyEmployee = new EmployeeData("", "", "", "", "", "");
|
||||||
System.out.println(emptyEmployee);
|
System.out.println(emptyEmployee);
|
||||||
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
//IDが一致するか
|
|
||||||
boolean matchIdBool = false;
|
|
||||||
System.out.println("10002 を検索します");
|
|
||||||
for (EmployeeData e : employees) {
|
|
||||||
matchIdBool = e.isMatchId("10002");
|
|
||||||
if (matchIdBool)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
System.out.println(matchIdBool);
|
|
||||||
|
|
||||||
System.out.println("99999 を検索します");
|
|
||||||
System.out.println(EmployeeData.isMatchId(employees, "99999"));
|
|
||||||
|
|
||||||
System.out.println("10003 を検索します");
|
|
||||||
System.out.println(EmployeeData.isMatchId(employees, "10003"));
|
|
||||||
|
|
||||||
System.out.println();
|
|
||||||
|
|
||||||
Scanner scanner = new Scanner(System.in);
|
Scanner scanner = new Scanner(System.in);
|
||||||
while (true) {
|
while (true) {
|
||||||
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
|
System.out.println("検索したい社員IDを入力してください(終了する場合は0)");
|
||||||
@@ -104,8 +98,8 @@ public class Main {
|
|||||||
|
|
||||||
boolean matchFlag = false;
|
boolean matchFlag = false;
|
||||||
|
|
||||||
for (EmployeeData e : employees) {
|
for (BaseData e : employees) {
|
||||||
if (e.isMatchId(findId)) {
|
if (e.getPrimaryKeyValue().equals(findId)) {
|
||||||
System.out.println(e);
|
System.out.println(e);
|
||||||
matchFlag = true;
|
matchFlag = true;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user