[OOP]-Klassenstruktur

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [OOP]-Klassenstruktur

    hallo,

    folgendes problem:

    zur zeit habe ich 2 klassen die jeweils eine methode zum verschicken von mails brauchen. je nachdem was für ein grund zum verschicken vorliegt kommen unterschiedliche texte in die mail. in den beiden klassen sind es auch unterschiedliche gründe zum verschicken.
    ist es nun besser eine eigene klasse für die mails zu machen und dann in die anderen beiden klassen einzubinden oder so wie es jetzt ist??:

    Code:
    class klasse1
    {
         function sendMail($grund)
         {
             switch ($grund).....
         }
    }
    
    class klasse2
    {
         function sendMail($grund)
         {
             switch ($grund).....
         }
    }

  • #2
    schau dir das Stichwort extends unter OOP an.

    Kommentar


    • #3
      aber es gibt doch in jeder methode unterschiedliche gründe zum verschicken der mail wie soll mir da ne vererbung weiterhelfen? oder meinst du ne extra klasse machen die dann vererbt wird an die 2 anderen klassen?
      Zuletzt geändert von lx-club; 25.02.2005, 10:45.

      Kommentar


      • #4
        indem du alle möglichen gründe in die dann genau einmal vorhandene methode packst?

        wenn eine vererbung aber logisch keinen sinn macht, solltest du dir was anderes eifnallen lassen, wie z. b. ein weiteres Objekt einbinden als Referenz oder oder oder
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ich habe also eine klasse user und eine klasse anzeigen. in der klasse user schreibe ich in die methode sendMail() also alle gründe rein, auch die, die nur in der klasse anzeigen gebraucht werden, und übergeb dann an die klasse anzeigen nur das objekt $this -> user -> sendMail... hab ich dich da richtig verstanden?

          Kommentar


          • #6
            Nein

            Du hast alles, was mit Mails zu tun hat in einer Klasse und übergibst die als referanz an alle Klassen, die was mit Mails amachen müssen, in deinemFall also an die Klassen user und anzeigen

            Wie du das mit den Gründen dann machst, musst du dir überlegen, ich weiß nicht, wie aufwendig die Logik ist, die dahintersteckt
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              achso, ok, also doch ne eigene klasse machen. ja und dann übergeb ich die referenz

              Code:
              class CUser
              {
                    function CUser(& $mail)
              
              }
              class CAnz
              {
                    function CAnz(& $mail)
              
              }
              die einzelnen gründe werden als parameter übergeben und sind alle in einer tabelle abgelegt

              Kommentar

              Lädt...
              X