login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Doorvoeren van methods?

Offline KWebServices - 18/04/2008 01:01 (laatste wijziging 18/04/2008 01:03)
Avatar van KWebServicesNieuw lid Is er een mogelijkheid om methods in een class door te voeren op de volgende manier:

  1. <?php
  2. class main
  3. {
  4. public function main($type)
  5. {
  6. // koppel de class met de naam $type aan de huidige class
  7. }
  8. }
  9. class sub1
  10. {
  11. public function fnc1()
  12. { ... }
  13. }
  14. class sub2
  15. {
  16. public function fnc1()
  17. { ... }
  18. }
  19. ?>


Nu wil ik, zodra er een instance van main wordt gemaakt, dat de main-class alles overneemt van de class die wordt aangeroepen...
bijv:
$x = new main("sub2");
$x->fnc1();

Ik heb een vermoeden dat't iets met extends te maken heeft, maar hoe en wat precies weet ik niet...

4 antwoorden

Gesponsorde links
Offline cloudstrife - 18/04/2008 08:52 (laatste wijziging 18/04/2008 08:53)
Avatar van cloudstrife PHP beginner Inderdaad via extends. Overerven dus.

class subklasse extends superklasse
{
....
}

Offline KWebServices - 18/04/2008 13:01
Avatar van KWebServices Nieuw lid Ja, maar hier ben ik nog niet mee geholpen. Hoe, waar en waarom moet ik een extend invoeren?
Offline Kr4nKz1n - 18/04/2008 13:06 (laatste wijziging 18/04/2008 13:08)
Avatar van Kr4nKz1n Onbekend Ja extends idd.
  1. class sub2 extends sub1
  2. {
  3. function fnc1()
  4. {
  5. sub1::func1();
  6. }
  7. }


Iets in die geest 

http://www.sitemasters.be/tutorials/4/1/323/PHP/OOP_(Public,_Protected_en_Private)

edit
SiteMasters doet raar met die () in de URL, 
Offline KWebServices - 18/04/2008 13:20
Avatar van KWebServices Nieuw lid Volgens mij is het niet helemaal duidelijk...
Zodra er van de main-class een instance wordt gemaakt, moet het kiezen uit sub1 OF sub2. Bij deze subs zitten de functies en mag er verder geen instance van de subs worden gemaakt. Wel is het de bedoeling dat de main-class de methods overneemt van OF sub1 OF sub2 (ligt er maar net aan welke er is gekozen bij $type. Een gewone extend zoals hierboven wordt aangegeven is niet de oplossing, omdat je dan een instance moet aanmaken van sub1 OF sub2 om de eigenschappen van main te krijgen (wat dus niet de bedoeling is).
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.172s