[OOP] OOP Tutorial PHP #1 [/OOP]

  • Guten Tag,
    ich beschäftige mich schon eine Weile mit der Scriptsprache / Programmiersprache „PHP“.
    In der Zeit habe ich viel Erfahrung gemacht. Deswegen möchte ich Sie etwas näher der Programmiersprache
    näher bringen.

    Was bedeutet OOP?
    OOP bedeutet in der Programmierung: „Objektorientierte Programmierung“.

    Warum OOP?
    Ein kleiner Zitat aus Wikepedia:

    Zitat


    Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee besteht darin, die Architektur einer Software an den Grundstrukturen desjenigen Bereichs der Wirklichkeit auszurichten, der die gegebene Anwendung betrifft. Ein Modell dieser Strukturen wird in der Entwurfsphase aufgestellt. Es enthält Informationen über die auftretenden Objekte und deren Abstraktionen, ihre Typen. Die Umsetzung dieser Denkweise erfordert die Einführung verschiedener Konzepte, insbesondere Klassen, Vererbung, Polymorphie und spätes Binden.

    So, wie erstellen wir eine Klasse?
    Eine Klasse wird immer mit dem Schlüsselwort „class“ erzeugt.

    PHP
    <?php
    class Tutorial{
    
    
    }
    ?>


    Das ist eine minimale gültige Klasse, mehr braucht eine Klasse nicht um zu funktionieren.
    Aber zurzeit ist sie Sinnlos, da sie bisher nicht's macht.

    Woraus besteht eine Klasse?
    Eine Klasse besteht aus Variablen die man als „Attributen“ bezeichnet.
    Die Attribute wird so vereinbart von den Modifikatoren, der z.B die Sichtbarkeit der Variable regelt.
    Was die Sichtbarkeit ist, darauf werden wir später nochmals aufkommen.

    PHP
    <?php
    class Tutorial {
          private $username = "Pycck"; //Private bedeutet, dass die Variable nur in der Klasse benutzt werden kann.
    }
    ?>


    Der zweite Baustein woraus Klassen bestehen sind die Funktionen bzw. Methoden.

    Was ist der Unterschied zwischen einer Methode und einer Funktion?
    Es gibt keinen Unterschied zwischen einer Methode und einer Funktion.
    Methoden werden in einer Klasse geschrieben und die Funktionen außerhalb der Klasse.
    Hier demonstriere ich Ihnen ein Beispiel.

    PHP
    <?php
    class Tutorial { 
       private $username = "Pycck"; //Private bedeutet, dass die Variable nur in der Klasse benutzt werden kann.
    
       function sayUsername() {
    
    
      }
    }
    ?>


    Innerhalb einer Klasse muss vor der Methode immer ein Modifikator.
    Wenn kein Modifikator eingesetzt wird, wie jetzt im Fall. Wird die Klasse auf „public“ gesetzt.

    Was ist genau der Modifikator „public“?
    Public bedeutet nicht's als dass man außerhalb der Klasse auf die Methode zugegriffen kann.
    Trotz dessen bietet es sich immer an, den Modifikator vor der Methode zu setzen.

    Wenn man schon mit einer Funktion gearbeitet hat, weißt man dass die Funktion auch was zurück geben kann.
    Hier ein Beispiel

    PHP
    <?php
    class Tutorial {
      private name = "Pycck";
    
    
     public function sayUsername(){
        return "Willkommen". $this->name;
     }
    }
    ?>


    Was passiert jetzt?
    Wenn wir die Methode aufrufen würden, würden wir folgendes ausgegeben bekommen:
    „Willkommen Pycck“

    Die $this Variable?
    Die $this Variable bezieht sich immer auf diese Klasse, also wenn wir innerhalb dieser Klasse mit $this arbeiten, greifen wir nur auf diese Klasse zu und auf keine andere!
    Man muss sich dass so vorstellen:
    $this ist wie ein Zeiger, der z.B auf Attributen zeigt
    Kleines Beispiel:

    PHP
    <?php
    class Tutorial { 
     private name = "Pycck"; 
    public function sayUsername(){ 
       return "Willkommen". $this->name; //Hier wird auf die Attribute name gezeigt, siehe oben.
    }
    }
    ?>

    Wie arbeiten wir mit der Klasse?
    Wenn wir mit der Klasse nicht arbeiten würden, hätte dies kein Sinn gemacht.
    Eine Klasse muss auch seinen zweck erfüllen.

    PHP
    <?php
    require_once 'class.user.php';
    $userdata = new Tutorial();
    ?>

    Was ist das Schlüsselwort „new“?
    Mit new erstellen wir eher ein Objekt außerhalb der Klasse, damit man auf die Klasse zugreifen kann.
    Wir haben z.B die Variable $tut und wollen dass sie die Klasse „Tutorial“ übernimmt. Und das funktioniert genau mit dem Schlüsselwort „new“.

    Wie arbeite ich genau mit der Klasse?
    In dem Falle eine Funktion aufrufen

    PHP
    <?php
    require_once 'class.user.php';
    $userdata = new Tutorial();
    
    
    echo $userdata->sayUsername();
    ?>


    Wir würden jetzt folgendes zurück bekommen: „Willkommen Pycck“
    Wir sagen jetzt zu $userdata dass sie die Methode sayUsername() aufrufen soll. (Mit dem ->, gleicher Prinzip wie bei $this (siehe oben)).


    Das Tutorial wird spätesten's morgen komplett sein.
    Bis dahin, viel Glück!

    Mit freundlichen Grüßen,
    Mark alias. Meikel

  • Bis auf ein paar Begrifflichkeiten die nicht ganz stimmen, find' ich das Tutorial gut gelungen.
    Es gibt ein Unterschied zwischen Klasse und Objekt ;)

    $this zeigt also nicht auf die Klasse, sondern auf das instanzierte Objekt, in dem es sich gerade befindet.

    Leider vergessen manche einfach das Grundprinzip von Klassen bzw. Objekten zu erwähnen. Der Wikipedia-Eintrag erklärt das natürlich etwas (etwas zu komplex für manche), aber dein Tutorial geht
    nicht darauf ein. Die Klassen bzw. Objekte in den Programmiersprachen sollen arbeiten, als wären es Objekte des realen Lebens (Haus, Auto, Tier, Mensch ...). Mit Eigenschaften (Höhe, Breite, Länge) und Funktionen (Fahren, Rollen, Schießen).
    Mit einem Objekt Tutorial können das viele nicht ganz mit einem "realen Objekt" assoziieren, da kein reales Objekt "Tutorial" existiert. Klar, es funktioniert natürlich auch so, aber man sollte
    es den Anfängern dann schon richtig beibringen.

    so far
    Yannici

    5 Mal editiert, zuletzt von Yannici. (3. April 2014 um 23:58)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!