Avatar billede claushelth Nybegynder
05. maj 2003 - 16:09 Der er 9 kommentarer og
1 løsning

flere konstruktør i php

Er det ikke muligt at have flere konstruktør i sine klasser i php.

Jeg vil gerne have en default konstruktør der sætter default værdier ind:

function Person()
    {
        $this->name = 'empty';
        $this->age  = 'empty';
    }

og en anden konstruktør der modter argumenter ved opretelsen af objektet:

function Person($the_name,$the_age)
    {
        $this->name = $the_name;
        $this->age  = $the_age;
    }

har forsøgt med denne, men virker ikke?? (det ser da ud på samme måde som i C...gør det ik?)

claus
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 16:10 #1
Du kan kun have en constructor. Til gengæld: "Constructors can take arguments and these arguments can be optional, which makes them much more useful"
Avatar billede claushelth Nybegynder
05. maj 2003 - 16:13 #2
ja..er det ikke det jeg viser i eksemplet?

2 konstruktør med samme navn. Måden de kan differentieres på er ved hjælp af antallet af argumenter. Så hvis jeg kalder et objekt uden argumenter tager den den første (default), og hvis jeg overfører to argumenter ved oprettelsen så tager den den anden?
Avatar billede tangveje Nybegynder
05. maj 2003 - 16:17 #3
Det du forsøger kaldes function overload... I C/C++ er det 'lovligt' men ikke i PHP.. Jeg synes dog at have hørt at det bliver muligt i PHP 5, kan dog være noget jeg bilder mig ind.
Avatar billede tipsen Nybegynder
05. maj 2003 - 16:19 #4
Kan man ikke bare gøre noget i retning af:

function Person($the_name='empty', $the_age='empty') {
        $this->name = $the_name;
        $this->age  = $the_age;
}
Avatar billede claushelth Nybegynder
05. maj 2003 - 16:20 #5
nej så er det også der jeg har hørt det...havde bare glemt at det først kommer senre!!

Men hvad mener erikjacobsen med at "constructors ise more useful", når argumenter er valgfrie...kan ikke lige se fordelen ved dette :-)
Avatar billede claushelth Nybegynder
05. maj 2003 - 16:22 #6
Tipsen -> jo sørme så...tak til tipsen...smid lige et svar :-)
Avatar billede tipsen Nybegynder
05. maj 2003 - 16:37 #7
De tilhører vist Erik - jeg skrev bare det han foreslog.
Avatar billede claushelth Nybegynder
05. maj 2003 - 16:38 #8
ok...takker og lukker
Avatar billede erikjacobsen Ekspert
05. maj 2003 - 19:07 #9
Det klarede du jo fint for mig, tipsen. Jeg skulle lige noget andet.  ;)
Avatar billede tipsen Nybegynder
05. maj 2003 - 23:01 #10
"Oversættelse af hints og antydninger til konkret php-kode" - det kunne vist nemt gå hen og blive et fuldtidsjob her på Eksperten ;-)
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