MischTemperaturRechner
class MischTemperaturRechner
Berechnung mit Richmann-Formel (Misch-Temperatur) als Klasse. Einem Objekt werden die Temperaturen für das heiße
und das kalte Wasser übergeben (die als fest
angenommen werden), mit der Methode berecheKaltwassermenge()
kann dann für die gewünschte Zieltemperatur und die Menge heißen Wassers die benötigte Kaltwassermenge
berechnet werden.
Diese Klasse hat eine Unterklasse namens MischTemperaturRechnerMitGuard, in der die Methode
berecheKaltwassermenge() überschrieben ist.
-
Temperatur kaltes Wasser in Grad Celsius.
Declaration
Swift
var temperaturKaltesWasser:Int -
Temperatur heißes Wasser in Grad Celsius.
Declaration
Swift
var temperaturHeissesWasser:Int -
Dieser Initialisierer können dem Aufrufer (der ein Objekt zu erzeugen versucht) einen Fehler signalisieren:
Die Initialisierung kann mit
return nilabgebrochen werden. Im vorliegenden Beispiel wird dies für eine ungültige Heißwasser-Temperatur gemacht oder wenn die Heißwasser-Temperatur nicht echt-größer als die Kaltwasser-Temperatur ist. Man spricht dann von einem failable Initializer.Wie
normale
Methoden kann ein Initialisierer einen Fehler mitthrowwerfen (zwischen Ende Parameterliste und Beginn Rump muss Schlüsselwortthrowsstehen). Im vorliegenden Fall wird bei einer ungültigen Kaltwassertemperatur ein Fehler geworfen.Important
Im vorliegenden Beispiel werden zu Demonstrations-Zwecken beide Möglichkeiten für sehr ähnliche Fehler verwendet. In der Praxis wäre dies schlechter Stil.
parameters:
- tempKaltesWasser: Temperatur des kälteren Wassers in Grad Celsius.
- tempHeissesWasser: Temperatur des heißeren Wassers in Grad Celsius.
Throws
Bei einer ungültigen Kaltwasser-Temperatur wird ein Fehler vom Typ
TemperaturError.TempKaltesWasserUngueltiggeworfen.Declaration
Swift
init?(tempKaltesWasser:Int, tempHeissesWasser:Int) throwsParameters
tempKaltesWasserTemperatur des kälteren Wassers in Grad Celsius.
tempHeissesWasserTemperatur des heißeren Wassers in Grad Celsius.
-
Methode zur Berechnung der beizumischenden Kaltwassermenge zur Erreichung der Zieltemperatur bei einer bestimmten Menge Heißwasser. Die Temperaturen für das heiße und das kalte Wasser sind als Objekt-Properties gespeichert.
- parameters:
- fuerZieltemperatur: Gewünschte Zieltemperatur nach Mischen in Grad Celsius.
- mitHeisswassermenge: Heißwassermenge in Liter.
Throws
Es wird ein Fehler vom TypTemperaturError.TempMischungNichtZwischenKaltUndHeissTempgeworfen, wenn die Zieltemperatur nicht zwischen den Temperaturen für Kalt- und Heißwasser liegen. Wenn die Heißwassermenge kleiner-gleich 0 Liter ist, dann wird ein Fehler vom TypWasserMengenError.MengeWarmesWasserUngueltiggeworfen.Declaration
Swift
func berecheKaltwassermenge(fuerZieltemperatur:Int, mitHeisswassermenge:Double) throws -> DoubleParameters
fuerZieltemperaturGewünschte Zieltemperatur nach Mischen in Grad Celsius.
mitHeisswassermengeHeißwassermenge in Liter.
Return Value
Benötigte Kaltwassermenge in Liter zur Erreichung der Ziel-Temperatur.
- parameters:
MischTemperaturRechner Class Reference