From 1ad5c174bece0ba6aa7840d61c780d120238c4e6 Mon Sep 17 00:00:00 2001 From: janik Date: Mon, 15 Nov 2021 14:47:18 +0100 Subject: [PATCH] static ueberweissen --- 12fi5/AEuP/Konto/konto.ps1 | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/12fi5/AEuP/Konto/konto.ps1 b/12fi5/AEuP/Konto/konto.ps1 index 18ba1a1..4e7ad32 100644 --- a/12fi5/AEuP/Konto/konto.ps1 +++ b/12fi5/AEuP/Konto/konto.ps1 @@ -5,22 +5,36 @@ class konto { [double]$guthaben [datetime]$erstelldatum + static ueberweissen([konto]$von, [konto]$nach, [double]$menge) { + $stand_von = $von.guthaben + $stand_nach = $nach.guthaben + try { + $von.auszahlen($menge) + $nach.einzahlen($menge) + } + catch { + $von.guthaben = $stand_von + $nach.guthaben = $stand_nach + throw $_ + } + } + konto() { $this.guthaben = 0 $this.erstelldatum = Get-Date } - konto([string]knr) { + konto([string]$knr) { $this.guthaben = 0 $this.erstelldatum = Get-Date - $this.kontonr = knr + $this.kontonr = $knr } - konto([string]knr, [string]ktyp) { + konto([string]$knr, [string]$ktyp) { $this.guthaben = 0 $this.erstelldatum = Get-Date - $this.kontonr = knr - $this.ktyp = ktyp + $this.kontonr = $knr + $this.ktyp = $ktyp } [double]einzahlen([double]$menge) { @@ -37,6 +51,8 @@ class konto { } if (($this.guthaben - $menge) -gt (-1000)) { $this.guthaben -= $menge + } else { + throw "Konto überzogen!" } return $this.guthaben }