php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.07.2008, 17:55  
Neuer Benutzer
 
Registriert seit: 29.12.2007
Beiträge: 9
oceanblue
Standard Variablen in Klassen resetet

Hi,
ich hätte noch mal eine Frage zu Klassen.
Ich habe 2 Klassen: KlasseA und KlasseB.
Ich habe in KlasseA eine Variable definiert und ihr bereits einen Wert zugewiesen. Wenn ich KlasseA mittels extends an KlasseB verrerbe, so verliert meine Variable ihren Wert wieder.
Ist das normal? Kann man irgendwas dagegen machen?
oceanblue ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.07.2008, 21:27  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wie soll das funktionieren? Wie kannst du den zur Laufzeit eine Klasse vererben??
Du schreibst doch im Quellcode "klasseA extends klasseB". D.h. Wenn klasseA instantiiert wird erbt sie sofort von klasseB.

Oder wie weißt du der Variable den Wert zu? Ein Codebeispiel wäre gut!
Flor1an ist offline  
Alt 07.07.2008, 22:22  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Falls Du von statischen Membern sprichst: Ja, dort ist dieses Verhalten normal. Genauer - self:: wird für eine abgeleitete Klasse nicht aufgelöst.
nikosch ist gerade online  
Alt 08.07.2008, 06:26  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Was heisst denn "KlasseA mittels extends an KlasseB vererbe"?

Wenn du Initialisierungen im Konstruktor der Eltern-Klasse vornimmst, aber der Kind-Klasse einen eigenen Konstruktor spendierst, wird der Eltern-Konstruktor nicht aufgerufen, das musst du dann haendisch mit "parent::__construct(..)" vornehmen:

PHP-Code:
<?php
class KlasseB {
  protected 
$b;
  public function 
__construct() {
    
$this->45;
  }
  public function 
GetB() {
    return 
$this->b;
  }
}
class 
KlasseA extends KlasseB {
  protected 
$a;
  public function 
__construct() {
    
$this->19;
  }
}

$objA = new KlasseA();
echo 
$objA->GetB(); // NULL

// stattdessen:
class KlasseA extends KlasseB {
  protected 
$a;
  public function 
__construct();
    
parent::__construct();
    
$this->19;
  }
}

$objA = new KlasseA();
echo 
$objA->GetB(); // 45
?>
Zergling-new ist offline  
Alt 15.10.2008, 14:23  
Erfahrener Benutzer
 
Registriert seit: 04.09.2008
Beiträge: 297
martl666 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich wollte keine neues Thema extra aufmachen. Deswegen benutze ich das hier.
Kann mir einer vielleicht genauer sagen was es mit dem wort
PHP-Code:
self:: 
zutun hat?
Was macht es genau es es sowas in der art wie
PHP-Code:
$this-> 
???
Ich lese es ab und zu mal aber damit kann ich wirklich nichts anfangen. Nach dem ich mich gerade durch OOP Kapitel in meinem Buch quäle.
Bis jetzt ist auch alles recht logisch (vielleicht seh ich noch nicht so ganz warum ich bei kleinen projekten sowas machen sollte(man kann es besser erweitern dadurch)aber des ist jetzt auch mal egal).
martl666 ist offline  
Alt 15.10.2008, 14:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

greift auf eine statische Eigenschaft oder Methode zu. Self ist dabei ein Alias für den Namen der aktuellen Klasse. Das und alles weitere findest Du in jeder Ausführung zu OOP in PHP.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
Datei mit Variablen so includen, dass Variablen nutzbar? BartTheDevil89 PHP Tipps 2008 6 22.01.2008 20:57
Teil einer Variablen mit einer Variablen ersetzen ? simsalabim PHP Tipps 2007 11 20.03.2007 20:36
Klassen sinnvoll nutzen, Grundlegendes nikosch PHP-Fortgeschrittene 1 30.09.2006 22:08
Fragen zu Klassen Kein Genie PHP Tipps 2006 3 08.05.2006 11:25
Sessions an includete Klassen übergeben Dr_Enquinox PHP Tipps 2006 4 29.04.2006 10:25
mit html klassen definieren und in php ausgeben PHP-Fortgeschrittene 4 16.01.2006 10:31
klassen und methoden anderer klassen in methoden.... PHP Tipps 2005 17 25.05.2005 09:46
Klassen PHP Tipps 2005 5 09.04.2005 18:51
Klassen in Klassen verwenden PHP Tipps 2005 5 23.02.2005 14:08
Variablen in Klassen Faebe PHP Tipps 2005 5 07.02.2005 14:42
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
variablen aus klassen weiterverwenden PHP Tipps 2004 6 05.07.2004 15:01
Klassen?! PHP Tipps 2004 14 03.06.2004 17:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
in function cvlass wird nicht resetet, php class extend variablen vererben, php class extends variable erweitern

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.