Anteckningar från föreläsning 8

Detta är den programkod vi skrev -- anteckningarna är gjorda bara för att vara ett stöd för minnet för dem som var där, och därför inte nödvändigtvis fullständiga eller ens sammanhängande. Betydligt mer hjälp finns att hämta i kompendiet.

OH-bilder finns här.

Implementation av egna klasser

class Banking {

    public static void main(String[] args) {
        new Banking().run();
    }

    void run() {
        Account acc1 = new Account(1010);
        Account acc2 = new Account(1020);
        acc1.deposit(200.50);
        System.out.println("Så här rik är jag: " +
                           acc1.getBalance());
        acc1.withdraw(50);
        System.out.println("Så här rik är jag nu: " +
                           acc1.getBalance());
        acc1.withdraw(50000);
        System.out.println("Så här rik är jag nu: " +
                           acc1.getBalance());

        // acc1.balance = -10000;
        System.out.println("Så här rik är jag nu: " +
                           acc1.getBalance());
    }
}
    
class Account {

    private double balance = 10;    // attribut
    private int accountNumber;

    public Account  (int accNo) {     // konstruktor
        // körs när kontot skapas
        balance = 10;
        accountNumber = accNo;
    }

    public void deposit(double amount) {   // metod
        if (amount >= 0) {
            balance += amount;
        }
    }

    public void withdraw(double amount) {
        if (amount < 0) {
            return;
        }
        if (amount > balance) {
            amount = balance;
        }
        balance -= amount;
    }

    public double getBalance() {
        return balance;
    }
}


class Bank {

    private List accounts = new ArrayList();
    
    public boolean createAccount(int accNo) {
        if (hasAccount(accNo)) {
            return false;
        }
        accounts.add(new Account(accNo));
        return true;
    }
}

På tisdag kommer vi att fortsätta prata om hur vi implementerar egna klasser.