abteilung variant, bank start

This commit is contained in:
janik
2021-11-18 12:10:22 +01:00
parent 12357e9a91
commit a3e42d2d9d
2 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,27 @@
class mitarbeiter {
[string]vorname
[string]nachname
mitarbeiter([string] $vorname, [string] $nachname) {
$this.vorname = $vorname
$this.nachname = $nachname
}
}
class abteilung {
[string]bezeichnung
$maliste = [System.Collections.ArrayList]::New()
[mitarbeiter]abteilungsleiter
abteilung([string] $bezeichnung) {
$this.bezeichnung = $bezeichnung
}
nachnamen() {
foreach ($ma in $maliste) {
Write-Host $ma.vorname
}
}
}
#$abteilung.abteilungsleiter.vorname

69
12fi5/AEuP/Bank/bank.ps1 Normal file
View File

@ -0,0 +1,69 @@
class kunde {
[string]$name
kunde([string]$name) {
$this.name = $name
}
}
class konto {
[kunde]$kunde
[double]$guthaben
[datetime]$erstelldatum
static ueberweisen([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 $_
}
}
ueberweisen([konto]$nach, [double]$menge) {
[konto]::ueberweisen($this, $nach, $menge)
}
konto([kunde]$kunde) {
$this.guthaben = 0
$this.erstelldatum = Get-Date
$this.kunde = $kunde
}
[double]einzahlen([double]$menge) {
if ($menge -lt 0) {
throw "Einzahlungsmenge muss positiv sein!"
}
$this.guthaben += $menge
return $this.guthaben
}
[double]auszahlen([double]$menge) {
if ($menge -lt 0) {
throw "Auszahlungsmenge muss positiv sein!"
}
if (($this.guthaben - $menge) -gt (-1000)) {
$this.guthaben -= $menge
} else {
throw "Konto überzogen!"
}
return $this.guthaben
}
}
class bank {
[string]$name
[System.Collections.Generic.List[konto]]$konten
[System.Collections.Generic.List[kunden]]$kunde
bank([string]$name) {
$this.name = $name
}
}