class Nettbank: """ Klasse som representerer en konto hos en nettbank. Hvert objekt vi lager av denne klassen vil da v?re en egen konto! """ def __init__(self): self._saldo = 0 def __repr__(self): """ Metode som blir bruk om vi sier print(objekt). Printer da stringen __repr__ returnerer! """ return "saldo: " + str(self._saldo) def innskudd(self, bel?p): self._saldo += bel?p def uttak(self, bel?p): if bel?p < self._saldo: self._saldo -= bel?p else: print("Ugyldig bel?p, du er blakk kompis.") eirik_sin_nettbank = Nettbank() eirik_sin_nettbank.innskudd(100) # Hva skjer ved de forskjellige NOTE'ene? Hva printes? # NOTE: A print(eirik_sin_nettbank) def uttak_prosedyre(konto): konto.uttak(20) uttak_prosedyre(eirik_sin_nettbank) # NOTE: B print(eirik_sin_nettbank) def uttak_funksjon(konto): konto.uttak(20) return konto eirik_sin_nettbank = uttak_funksjon(eirik_sin_nettbank) # NOTE: C print(eirik_sin_nettbank) """ Printer: 100, 80, 60 Selvom vi ikke returnerer en variabel, s? er det slik at vi sender med en referanse til et objekt inn til funksjonene/prosedyrene v?re. Vi f?r ikke et tilfelle med lokale variable her. Siden vi sender med en referanse til objektene v?re inn, er det faktisk de objektene som blir manipulert av funksjonene. Hadde vi her gjort det samme med en int og ikke et objekt, hadde vi ikke endret den p? uten ? returnere den og s? tilordne den verdien p? nytt. """