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