나는 신용 카드 계정을 하나만 처리해야하는 신용 카드 응용 프로그램을 구현해야합니다. credit()
, debit()
, pinChange()
과 같은 작업콜백 메커니즘을 사용하는 방법은 무엇입니까?
하지만 나를 위해 문제는 내가 "자바 콜백"를 사용하는 두 가지 경우에 사용자에게 통보하는 메커니즘이 있습니다 : 핀 변화에
- 을
- 균형이 아래로 갈 때 5000
이러한 알림에 콜백을 사용하려면 어떻게해야합니까? 포인트
콜백 사용은 여기에 초점이 더..
public interface Callback {
public void onPinChange();
public void onLowBalance();
}
import java.util.Scanner;
public class CreditCard implements Callback{
Callback callback;
int pin;
float balance;
public CreditCard() {
callback = this;
this.pin = 1234; // default pin
this.balance = 10000f; // opening balance
}
public void creditBalance(float amount) {
this.balance = this.balance + amount;
}
public void debitBalance(float amount) {
if (balance <= amount) {
System.out.println("Not enough balance to debit");
} else {
balance = balance - amount;
}
if (balance < 5000) {
callback.onLowBalance();
}
}
public void changePin(int newPin) {
System.out.println("Enter the current pin");
Scanner scanner = new Scanner(System.in);
int existingPin = scanner.nextInt();
if (existingPin != pin) {
System.out.println("Wrong pin!");
} else {
pin = newPin;
callback.onPinChange();
}
scanner.close();
}
@Override
public void onPinChange() {
System.out.println("Pin changed");
}
@Override
public void onLowBalance() {
System.out.println("low balance");
}
public static void main(String[] args) {
CreditCard card = new CreditCard();
card.changePin(3333);
card.debitBalance(5200);
}
}
그건 콜백 크리스탈의 제 개념을 분명히합니다 ... yeeaaahh ... 고마워요 jesse .. –
당신은 그의 코드 형식으로 무엇을 했습니까? : | – Sufian
@Sufian은이 포맷 작업이 어떻게 작동하는지 확신하지 못합니다. 내게 그것에 대한 통찰력을 줄 수 있는지 궁금합니다. – SandeepGodara