Informatikwiki

Albert Einstein Gymnasium Reutlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


gfs:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
gfs:start [05.07.2011 00:35] simeogfs:start [25.04.2013 12:52] (aktuell) Stefan Gaum
Zeile 1: Zeile 1:
-====== Objektorientierte Programmierung ====== +====== GFS - Themen ======
-Bei der Objektorientierten Programmierung(OOP) sollen Daten zusammengefasst um Programmierung mit größeren Datenmengen zu vereinfachen. +
-OOP lohnt sich daher haupsächlich bei größeren Projekten. +
-Im folgenden Kapitel wird die Funktionsweise von OOP mit PHP erklärt.+
  
-Die Objektorientierte Programmierung besteht aus vier Grundelementen: +  [[gfs:oop|Objektorientierte Programmierung]] 
- +  * [[gfs:funk_inter|Funktion des Internets]]
-**Klasse, Objekt, Eigenschaft, Methode** +
- +
-===== Klassen, Objekte, Eigenschaften und Methoden ===== +
-==Klasse:== +
-Eine Klasse beschreibt Eigenschaften und Methoden eines Objektes und wird daher benötigt um ein Objekt zu erstellen. +
-==Objekt:== +
-Ein Objekt verfügt über Eigenschaften und Methoden. +
-(Genauere Erklärung folgt noch.) +
-==Eigenschaft:== +
-Eigenschaften sind -wie der Name schon sagt- Eigenschaften von Objekten. Sie sind vergleichbar mit Variablen. +
-==Methode:== +
-Methoden sind eine Art Funktionen, die ein Objekt nutzen kann. +
-====Beispiel==== +
-Das alles erscheint noch etwas abstrakt, es lässt sich aber einfach anhand eines Beispiels erläutern. +
- +
-Nehmen wir zum Beispiel wortwörtlich eine Klasse als Klasse, eine Informatikklasse. +
-Die Objekte wären dabei die Schüler mit ihren Eigenschaften und Methoden (=was die Schüler machen). +
-{{:gfs:bsp.jpg|}} +
- +
-In diesem Beispiel kann man das Geschlecht und die Haarfarbe der Schüler aus dem Kurs Inf1 bestimmen. Die Schüler können arbeiten und in Facebook gehen. +
-Bei Olaf hat man bestimmt, dass er ein Mann ist und schwarze Haare hat. +
- +
-===In PHP=== +
-In PHP sieht das alles folgendermaßen aus: +
- +
-<code php> +
-class Inf                            //Definition der Klasse +
-{ +
-  var $Geschlecht;                   //Eigenschaft 1 +
-  var $Haarfarbe;                    //Eigenschaft 2 +
-  function arbeiten($dauer)          //Methode 1 +
-  { +
-  } +
-  function Facebook()                //Methode 2 +
-  { +
-  } +
-+
-</code> +
- +
-Erzeugen eines Objekts +
-<code php> +
-class Inf +
-{...} +
-$Olaf = new Inf; +
-</code> +
- +
-Damit ist Olaf zwar ein Schüler des Informatikkurses, hat aber noch keine Haarfarbe (und Geschlecht?). +
- +
-<code php> +
-class Inf +
-{...} +
-$Olaf = new Inf; +
-$Olaf -> Geschlecht = "Mann";        //Kein '$' bei Geschlecht +
-</code> +
-Glückwunsch Olaf, jetzt bist du ein Mann. +
- +
- +
-Ein wichtiges Element im OOP ist das '$this'. '$this' verweist auf das eigene Objekt und wird vor allem bei den Methoden wichtig, vor allem weil mehrere Objekte eine Methode Nutzen können. Wie genau das aussieht zeigt dieses Beispiel +
-<code php> +
-class Inf                             +
-+
-  var $Geschlecht;                    +
-  var $Haarfarbe;                     +
-  function haarfarbe($farbe)          +
-  { +
-  $this -> Haarfarbe = $farbe; +
-  } +
-+
-$Olaf = new Inf; +
-$Olaf -> Geschlecht = "Mann";  +
-$Olaf  -> haarfarbe("Schwarz");    +
-</code> +
- +
-=====Übungen===== +
-{{:htmlcss:work_64.png|}} +
- +
-  - Erstelle ein Programm, das die Seitenlängen eines Quaders abfragt und dieses Quader als Objekt einer Klasse erstellt +
-  - Erstelle Methoden, die Oberfläche und Volumen des Quaders berechnen und ausgeben +
- +
-==Zusatzaufgaben== +
-  * Erweitere dein Programm so, dass es auch regelmäßige quadratische Pyramiden als Objekte erstellen kann +
-  * Bei Interesse kannst du dich über **Vererbung**, **Kapselung**, und **Klonen** im OOP informieren+
gfs/start.1309826152.txt.gz · Zuletzt geändert: 05.07.2011 00:35 von simeo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki