Objektorientiertes Programmieren mit PHP

Hallo Zusammen,

ich baue einen simplen Taschenrechner und möchte mit OOP plus, minus,
mal und geteilt umsetzen. Wie würde ich jetzt die weiteren Methoden
einbauen. Vererben oder doch nicht. Es geht mir um den richtigen OOP
Weg. Anbei mein Code:
<html> <head> <title>mein oop Rechner</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
Zahl l: <input type="text" name="zahl1" value=""/>
<br>
Zahl 2: <input type="text" name="zahl2" value=""/>
<br>
<input type="submit" name="senden" value="rechnen"/>
</form>
</body>
</html>
<?php
if (isset($_GET['senden']))
{
//Klasse aufrufen
$result = new Rechnen($_GET['zahl1'], $_GET['zahl2']);
echo $result->nunRechnen();
}
?>

<?php
class Rechnen {
var $zahl1;
var $zahl2;

//Konstruktor
function Rechnen($zahl1, $zahl2)
{
$this->setPlus($zahl1, $zahl2);
}

function setPlus($newZahl1, $newZahl2)
{
if(!is_numeric($newZahl1))
{
return false;
}
if(!is_numeric($newZahl2))
{
return false;
}
$this->zahl1 = (int)$newZahl1;
$this->zahl2 = (int)$newZahl2;
}

function getPlus()
{
$summe = $this->zahl1 + $this->zahl2;
return $summe;
}

function nunRechnen()
{
$message = "Das Ergebnis ist " . $this->getPlus();
return $message;
}
}
?>

Für jeden Tip bin ich sehr dankbar.

Grüsse Alexander zu Solms
Alexander zu Solms [ Fr, 24 August 2007 12:25 ] [ ID #1804309 ]

Re: Objektorientiertes Programmieren mit PHP

Alexander zu Solms schrieb:
> Hallo Zusammen,
>
> ich baue einen simplen Taschenrechner und möchte mit OOP plus, minus,
> mal und geteilt umsetzen. Wie würde ich jetzt die weiteren Methoden
> einbauen. Vererben oder doch nicht. Es geht mir um den richtigen OOP
> Weg. Anbei mein Code:

Ein gut funktionierender Weg für solche Probleme ist das Strategie
Entwurfsmuster[1]. Wenn du OOP lernen willst, dann solltest du Dir auch
gleich einen kleinen Überblick über solche Entwurfsmuster einholen.

Wenn du mehr als nur eine Rechnung machen möchtest, kann man z.B. Auch
einen Decorator einsetzen.

Wenn du allerdings richtige Rechenausdrücke auswerten (parsen) möchtest,
also mit Klammern und Punkt vor Strich uns solchen 'Zustands-Regeln'
hilft Dir ein Kellerautomat. Dieser hat aber eher wenig mit OOP zu tun ;-)



[1] http://de.wikipedia.org/wiki/Strategie_%28Entwurfsmuster%29
[2] http://de.wikipedia.org/wiki/Decorator
[3] http://de.wikipedia.org/wiki/Kellerautomat
Harald Stowasser [ Fr, 24 August 2007 13:28 ] [ ID #1804312 ]
PHP » de.comp.lang.php.misc » Objektorientiertes Programmieren mit PHP

Vorheriges Thema: Date-Diff - JD beste Lösung?
Nächstes Thema: Re: PHPEclipse: Code/Content assist