Avatar billede sylvesternielsen Nybegynder
18. januar 2005 - 13:59 Der er 3 kommentarer og
1 løsning

Gennemgang af OOP og klasser

Nu har jeg et stykke tid arbejdet med klasser og OOP, men har stadigt nogle småting som driller mig.

Det jeg har brug for er en beskrivelse af hvordan jeg skal lave en struktur hvor klasse 2 og 3 bliver kaldet fra en funktion i klasse 1. Det skal her være muligt at klasse 2 og 3 skal kunne læse/skrive variabler og funktioner i klasse 1.

Svaret må gerne være understøttet af et lille kode eksempel.
Avatar billede neocron Nybegynder
18. januar 2005 - 16:10 #1
At kalde en class fra en anden gøres med extends. Du kan dog kun extende én class til en anden.

Læs mere her:
http://dk2.php.net/oop

Og her et simpelt eksempel -

<?php
class MainObject extends SecondObject {
    function MainObject()
    {
        echo SecondObject::plus(5, 5); // 10
    }
}

class SecondObject {

    function plus($val1, $val2)
    {
        return $val1 + $val2;
    }
}

$theClass = new MainObject;
?>
Avatar billede sylvesternielsen Nybegynder
18. januar 2005 - 17:07 #2
Jeg kender godt den metode, men den fungere ikke i dette tilfælde da de som sagt skal kaldes fra en funktion i min main klasse.
Avatar billede drbean Nybegynder
18. januar 2005 - 21:28 #3
Du kan jo sagtens have et objekt fra en anden klasse inde i din klasse. Fx hvis det er din database connection.
Avatar billede sylvesternielsen Nybegynder
19. maj 2005 - 18:16 #4
Jeg har valgt at lave det på en anden måde.

<?php

class db
{
    var $core;
    function db(&$core)
    {
        $this->core = &$core;
    }
}
?>
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