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 nil abgebrochen 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 mit throw werfen (zwischen Ende Parameterliste und Beginn Rump muss Schlüsselwort throws stehen). 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.TempKaltesWasserUngueltig geworfen.

    Declaration

    Swift

    init?(tempKaltesWasser:Int, tempHeissesWasser:Int) throws

    Parameters

    tempKaltesWasser

    Temperatur des kälteren Wassers in Grad Celsius.

    tempHeissesWasser

    Temperatur 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 Typ TemperaturError.TempMischungNichtZwischenKaltUndHeissTemp geworfen, 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 Typ WasserMengenError.MengeWarmesWasserUngueltig geworfen.

    Declaration

    Swift

    func berecheKaltwassermenge(fuerZieltemperatur:Int, mitHeisswassermenge:Double) throws -> Double

    Parameters

    fuerZieltemperatur

    Gewünschte Zieltemperatur nach Mischen in Grad Celsius.

    mitHeisswassermenge

    Heißwassermenge in Liter.

    Return Value

    Benötigte Kaltwassermenge in Liter zur Erreichung der Ziel-Temperatur.