abteilung variant, bank start
This commit is contained in:
27
12fi5/AEuP/Abteilung/abteilung_var1.ps1
Normal file
27
12fi5/AEuP/Abteilung/abteilung_var1.ps1
Normal 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
69
12fi5/AEuP/Bank/bank.ps1
Normal 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
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user