Objektorientierung

Hi,

ich habe die Umstellung auf IPS2 zum ansporn genommen, meine Heizungssteuerung auf Objektorientierung um zu stellen.
Die Grundprintipien sind mir bekannt aber ich stecke noch nicht ganz so in der materie.

Momentanes Problem:
ich möchte eine Zu Beginn ein Logfile-Objekt initialisieren, dass in eine HTML-Datei loggt.
Es wäre nun praktisch, wenn dieses logfile in allen meinen klassen (mit dem selben objekt) verfügbar wäre.

Ich versuche es mal etwas näher zu beschreiben:

Logklasse:

class log
{
public function open(){ Logfile zum schreiben öffnen }
public function close(){ Logfile schließen }
public function LogSomething($message) { $message in Logfile schreiben }
}

„Unterklasse“ 1:

class SpeicherLaden
{
    public function a()
    {
        do something;
        log::LogSomeThing("Speicher wird jetzt geladen");
    }
}

„Unterklasse“ 2:


class MischerRegelung
{
    public function Regeln()
    {
        do something;
        log::LogSomeThing("Mischer wurde auf x% geregelt");
    }
}

Hauptklasse:


class heizung
{
    private $log;
    private $speicher;
    private $mischer;
    function __construct()
    {
        $this->log = new logfile();
        $this->speicher = new speicherladen();
        $this->speicher = new mischerregelung();

        $this->speicher->a();
        $this->speicher->Regeln();
    }
}

Ich hoffe ihr erkennt was ich machen möchte?
Die „Unterklassen(/-objekte)“ sollen in der lage sein, mit hilfe des in der Hauptklasse initialisierten LogObjekts zu loggen.

Vorschläge? :slight_smile:

mfg
roeni

Hallo Roeni,

benutzt Du schon WIIPS? Falls ja, kannst Dir das a) dort erstens anschauen und b) auch die Log-Klasse auch gleich so nutzen.