Avatar billede googolplex Novice
17. oktober 2003 - 16:53 Der er 5 kommentarer og
1 løsning

Klasse/Objekt - simpelt spørgsmål

Jeg sidder og forsøger mig lidt frem med nogle klasser og har i denne forbindelse undret mig over en ting:

Jeg har læst at Constructoren (fx) benyttes til at initialisere variabler. Men hvorfor skal jeg overhovedet gøre det i en constructor, er det lige så godt at gøre således:

class ClassName {
    var $EnVariabel = 'defaultvaerdi';
    var $NyVariabel = 'Startvaerdi';
    var $EndnuEn    = array('bus', 'bil', 'fly')

    osv.

}

Så hvad er fordelen ved at gøre det i en Constructor ?
Avatar billede fangel Nybegynder
17. oktober 2003 - 17:00 #1
det er hvis variablerne skal have en værdi

class foo{
  var $bar, $foobar;
  function foo($toBar, $toFoobar)
  {
    $this->bar = $toBar;
    $this->foobar = $toFoobar;
  }
  function print(){
    echo $this->foo . ' | ' . $this->foobar;
  }
}

$foo = new foo('apples', 'bananas');
$foo->print();

---

det er i hvert fald min opfattelse af hvad construktere bruges til... then again, nogle siger at ting der _KAN_ fejl skal ligge i en Open() funktion, istedet for constructoren...

Morten
Avatar billede googolplex Novice
17. oktober 2003 - 17:15 #2
Ok, det vil sige, at hvis variablerne skal have en defaultvaerdi, så skriver jeg:

var $bar = 'defaultvaerdi';

Og hvis jeg skal kunne give $bar en anden værdi samtidig med at jeg instantierer objektet, så bruger jeg en Constructor ?

Ps. Er 'foo' og 'bar' forkortelse eller bare navne man har vedtaget at bruge ?
Avatar billede fangel Nybegynder
17. oktober 2003 - 17:20 #3
halvvejs...

læs jargon-file for info

http://catb.org/~esr/jargon/html/M/metasyntactic-variable.html

Morten
Avatar billede googolplex Novice
17. oktober 2003 - 17:33 #4
Ok, og med hensyn til det første, har jeg forstået det rigtigt ?
Avatar billede fangel Nybegynder
17. oktober 2003 - 17:48 #5
tror jeg - jeg er ikke selv den vilde OOP - men jeg tvivler på at 'verden går under' hvis du gør det på den anden måde...

du får lige et svar med i hatten

Morten
Avatar billede fangel Nybegynder
17. oktober 2003 - 17:48 #6
hov - svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester