mirror of
https://github.com/Dichgrem/Java.git
synced 2026-02-05 04:21:56 -05:00
update:demo13
This commit is contained in:
62
com/study/demo13/MemberService.java
Normal file
62
com/study/demo13/MemberService.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package com.study.demo13;
|
||||
|
||||
abstract class Member {
|
||||
protected int points;
|
||||
|
||||
public Member(int points) {
|
||||
this.points = points;
|
||||
}
|
||||
|
||||
abstract int calculateFinalPoints();
|
||||
|
||||
String getLevel() {
|
||||
int finalPoints = calculateFinalPoints();
|
||||
if (finalPoints >= 1000) {
|
||||
return "VIP";
|
||||
} else if (finalPoints >= 500) {
|
||||
return "GOLD";
|
||||
} else {
|
||||
return "NORMAL";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class NormalMember extends Member {
|
||||
public NormalMember(int points) {
|
||||
super(points);
|
||||
}
|
||||
|
||||
@Override
|
||||
int calculateFinalPoints() {
|
||||
return points;
|
||||
}
|
||||
}
|
||||
|
||||
class VIPMember extends Member {
|
||||
public VIPMember(int points) {
|
||||
super(points);
|
||||
}
|
||||
|
||||
@Override
|
||||
int calculateFinalPoints() {
|
||||
return points * 2;
|
||||
}
|
||||
}
|
||||
|
||||
public class MemberService {
|
||||
public static void main(String[] args) {
|
||||
Member normal1 = new NormalMember(300);
|
||||
Member normal2 = new NormalMember(600);
|
||||
Member normal3 = new NormalMember(1200);
|
||||
Member vip1 = new VIPMember(300);
|
||||
Member vip2 = new VIPMember(400);
|
||||
Member vip3 = new VIPMember(600);
|
||||
|
||||
System.out.println("NormalMember - 最终积分: " + normal1.calculateFinalPoints() + ", 等级: " + normal1.getLevel());
|
||||
System.out.println("NormalMember - 最终积分: " + normal2.calculateFinalPoints() + ", 等级: " + normal2.getLevel());
|
||||
System.out.println("NormalMember - 最终积分: " + normal3.calculateFinalPoints() + ", 等级: " + normal3.getLevel());
|
||||
System.out.println("VIPMember - 最终积分: " + vip1.calculateFinalPoints() + ", 等级: " + vip1.getLevel());
|
||||
System.out.println("VIPMember - 最终积分: " + vip2.calculateFinalPoints() + ", 等级: " + vip2.getLevel());
|
||||
System.out.println("VIPMember - 最终积分: " + vip3.calculateFinalPoints() + ", 等级: " + vip3.getLevel());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user