31)登録管理クラス
package ex04_generics;
//맴버 클래스
//필드 : 아이디 패스워드
class Member{
private String id;
private String pw;
public Member() {}
public Member(String id, String pw) {
super();
this.id = id;
this.pw = pw;
}
public String getId() {
return id;
}
public String getPw() {
return pw;
}
public void setId(String id) {
this.id = id;
}
public void setPw(String pw) {
this.pw = pw;
}
@Override
public String toString() {
return "Member [id=" + id + ", pw=" + pw + "]";
}
}
//Vip 클래스 만들기
// 필드 : 아이디, 비밀번호, 할인률(rate)
class Vip{
private String id;
private String pw;
private double rate;
public Vip() {}
public Vip(String id, String pw, double rate) {
super();
this.id = id;
this.pw = pw;
this.rate = rate;
}
public String getId() {
return id;
}
public String getPw() {
return pw;
}
public double getRate() {
return rate;
}
public void setId(String id) {
this.id = id;
}
public void setPw(String pw) {
this.pw = pw;
}
public void setRate(double rate) {
this.rate = rate;
}
@Override
public String toString() {
return "Vip [id=" + id + ", pw=" + pw + ", rate=" + rate + "]";
}
}
//로그인 관리 클래스
class Login<T>{ //제네릭으로 형을 지정하지 않고 클래스를 넘김
//입장
void loginm(T m) { //상속을 아직 안배워서 이렇게 강제로 변환하여 출력
System.out.println(m); //확인용 클래스 출력
if (m instanceof Member) {
System.out.println(((Member) m).getId()+"입장");
}else if(m instanceof Vip) {
System.out.println(((Vip) m).getId()+"입장");
}
// void loginv(Vip v1) { //제네릭이 없으면 이렇게 따로 만들어야함
// System.out.println(v1.getId()+"입장");
// }
}
}
public class J20210422_02_Member {
public static void main(String[] args) {
Member m1 = new Member("ㅋㅋㅋ","1111");
System.out.println(m1);
Vip v1 = new Vip("ㅂㅂㅂ","2222", 0.1);
System.out.println(v1);
Login <Member>l1 = new Login<>();
l1.loginm(m1);
Login <Vip>l2 = new Login<>();
l2.loginm(v1);
}
}
Reference
この問題について(31)登録管理クラス), 我々は、より多くの情報をここで見つけました https://velog.io/@stpnlsw/31-로그인-관리-클래스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol