Witam, potrzebuje podpowiedzi odnośnie programowania obiektowego.
Napisałem mały program który zarządza kontem bankowym (wpłaty i wypłaty z konta).
package archi;
public class Konto {
// Ustawiamy zmienne potrzebne nam do zalożenia konta
private String imie;
private String nazwisko;
private String numerKonta;
private double saldo;
private double limitWyplat;
// Tworzymy konstruktor ktorym bedziemy zakladali konto w klasie Main
public Konto(String imie, String nazwisko, String numerKonta, double limitWyplat) {
System.out.println("Konto zastało założone");
this.imie = imie;
this.nazwisko = nazwisko;
this.numerKonta = numerKonta;
// Saldo konta ustawiamy na 0
this.saldo = 0;
this.limitWyplat = limitWyplat;
}
// Tworzymy metodę do wpłacania środków na konto
public void wplata(double wplata) {
this.saldo += wplata;
System.out.println("Wpłacono " + wplata + " zł. Stan Twojego konta wynosi " + this.saldo + " zł");
}
// Tworzymy metodę do wypłacania środków z konta
public void wyplata(double wyplata) {
// warunek który nie pozwoli na wypłatę środkow z konta jesli ta przekracza limit wyplat
if (wyplata > this.limitWyplat) {
System.out.println("Przekroczony limit wypłat. Operacja anulowana.");
// warunek który nie pozwoli na wypłatę środkow z konta jesli ta przekracza saldo
} else if (wyplata > this.saldo) {
System.out.println("Za mało środków na koncie. Operacja anulowana.");
} else {
this.saldo -= wyplata;
System.out.println("Wypłacono " + wyplata + " zł. Stan Twojego konta wynosi " + this.saldo + " zł");
}
}
// Tworzymy gety do pobierania poszegolnych danych z konta
public String getImie() {
return imie;
}
public String getNazwisko() {
return nazwisko;
}
public String getNumerKonta() {
return numerKonta;
}
public double getSaldo() {
return this.saldo;
}
public double getLimitWyplat() {
return limitWyplat;
}
}
Chciałbym dodać możliwość robienia przelewów między kontami, lecz nie za bardzo wiem jak to zrobić.
Będę wdzięczny za podpowiedzi jak zrobić taką "relację" między kontami, jak to się zwykle ma przy robieniu przelewów.
Poniżej kod w którym sprawdzam czy klasa Konto jest odpowiednio napisana.
Na pierwszy rzut oka wszystko działa jak powinno, ale może dostrzeżecie jakieś błędy.
package archi;
public class Main {
public static void main(String[] args) {
// Tworzymy obiekt konto
Konto pierwsze = new Konto("Jan", "Kowalski", "1234", 200);
Konto drugie = new Konto("Adam","Nowak","9999",500);
// Wyswietlamy poszegolne dane z obiektu, sprawdzamy czy gety dzialaja poprawnie
System.out.println(pierwsze.getImie());
System.out.println(pierwsze.getNazwisko());
System.out.println(pierwsze.getNumerKonta());
System.out.println(pierwsze.getSaldo());
System.out.println(pierwsze.getLimitWyplat());
// Próby dokonania wypłaty z konta przy saldzie równym 0, sprawdzamy poprawnośc warunków
pierwsze.wyplata(100.00);
// Dokonujemy wpłaty na konto i sprawdzamy saldo
pierwsze.wplata(500.00);
System.out.println(pierwsze.getSaldo());
// Próba wypłacenia z konta
pierwsze.wyplata(150.00);
System.out.println(pierwsze.getSaldo());
// Sprawdzenie poprawnego zakodowania waruku limitu wypłat
pierwsze.wyplata(300.00);
System.out.println(pierwsze.getSaldo());
}
}