Naar inhoud springen

Overleg:Programmeren in PHP/Klassen PHP 4

Pagina-inhoud wordt niet ondersteund in andere talen.
Onderwerp toevoegen
Uit Wikibooks

Zelf gebruik ik versie 4.4.4, waarin hetvolgende ook mogelijk is:

<?php
  class foo {
    var $var;
    
    function foo($_var="empty") {
      $this->var=$_var;
    }
  }

  $foo = new foo();
  $bar = new foo("not empty");
  print ($foo->var . " and " . $bar->var); //empty and not empty
?>

Is dit ook niet mogelijk in PHP 4???

Volgende Bijdrage

[bewerken]

de uitleg over this in andere talen klopt niet. Naamconflicten is een van de toepassingen van het sleutelwoord this, maar zeker niet de reden waarom het bestaat. Als ik het goed heb is "this" het self referencing keyword. Concreet wil dit dus zeggen dat het een referentie (=Java, in C: een pointer) is naar het object zelf. De pijlnotatie p->methode() komt uit C++ waar het de verkorte notatie is voor (*p).methode() . p stelt hier een pointer voor, de asterisk is de dereference operator. Deze roept de waarde op (of het object) waarnaar de pointer verwijst. In Java wordt steevast met referenties gewerkt, en werd de pijlnotatie vervangen door een punt.

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.