Beispiel: Objektorientierte Programmierung (OOP)

BEISPIEL: OOP UNTER PHP

Beschreibung in den Kommentaren

Ergebnis im Browser:

oop.php

<?php
// Nutzen der Klasse person.class.php
require_once ("classes/person.class.php");
require_once ("classes/kind.class.php");
// neues Object instanziieren (ableiten)

$ich = new person ("Franzel", "Tütenfröhlich", "01.01.1984");
echo "ID-Nummer: ".$ich::$pid."<br>";

//setzen der Eigenschaften
$ich->vorname="Franzel"; 
$ich->nachname="Tütenfröhlich";

$du = new person ("","","");
echo "ID-Nummer: ".$du::$pid."<br>";
$du->vorname="Annabella";
$du->nachname="Zippenstiel";
$du->setGebdat("07.12.1976");

// Aufruf der Methode
echo "Meine Name ist: " .$ich->anzeigeName()." <br>";
echo "Dein Name ist: " .$du->anzeigeName()." <br>";
echo "Ich bin geboren am: ".$du->getGebdat()."<br>";

$er = new Person("Gerd", "Gurke", "12.09.1987");
echo "ID-Nummer: ".$er::$pid."<br>";
echo "Sein Name ist: ".$er->anzeigeName()."<br>";
$kiddy = new kind("Pauline", "Paulchen", "2.2.2001", "Mädchen");
echo "Mein Kind ist ein " .$kiddy->getGeschlecht(). " und heißt: ".$kiddy->anzeigeName();
echo "ID-Nummer: ".$kiddy::$pid."<br>";
?>

person.class.php

<?php
// Klasse für eine Person
class person
{

// Eigenschaften der Klasse
public static $pid=0; //static ohne ein Objekt verwendbar
public $vorname;
public $nachname;
private $gebdat; // Alle Eigenschafen einer Klasse sollten immer
// private sein und nur pber get und set-Methoden 
// veändert werden dürfen (Interface)


function setGebdat ($value)
{
$this->gebdat=$value; 

}

function getGebdat ()
{
return $this->gebdat;

}

//************************************************************************************************************
function __construct($vname, $nname, $gebdat) // Der eigene Konstrukor der Klasse
// zum Vorinstallieren der EIgenschaften, spart Schreibarbeit
{
self::$pid++; // Zugriff auf static mit self:: 
$this->vorname=$vname;
$this->nachname=$nname;
$this->setGebdat($gebdat);
}
//************************************************************************************************************

function getPID()
{
return self::$pid;
}

function anzeigeName() {
//$this ist eine Referenz auf das Objekt selbst
return $this->vorname." ". $this ->nachname;
}



}


?>

 

<?php 
// Kindklasse erbt von person.class.php alle public-eigenschaften und public-methoden
require_once ("person.class.php");

class kind extends person // extends bedeutet beerbt Klasse personimplements
{
public $geschlecht;

function __construct($vname,$nname,$gebdat,$geschlecht)
{
parent:: __construct($vname, $nname, $gebdat); // Aufruf des BasisKonstruktor
$this->geschlecht = $geschlecht;
}

function getGeschlecht() {
return $this->geschlecht;
}

}

?>

einen Kommentar senden...

Die E-Mail-Adresse wird nicht veröffentlicht.