Korte vraag: verschil tussen protected en private

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Toby hinloopen

toby hinloopen

23/08/2009 17:34:00
Quote Anchor link
Ik heb nou tutorials gelezen, docs gelezen... maar ik snap nog steeds het verschil niet:

Wat is het verschil tussen een protected class variable en een private class variable?

Ze zijn allebei niet bereikbaar van buitenaf...
ik had gehoopt dat protected alleen read-only was van buitenaf, maar dat had ik blijkbaar mis...
 
PHP hulp

PHP hulp

18/12/2024 08:52:12
 
- Mark -

- Mark -

23/08/2009 17:41:00
Quote Anchor link
Private is alleen de class waarin de functie staat en protected de class waarin hij staat en afgeleide classes.

Althans volgens het boek dat ik voor me heb liggen.
 
Toby hinloopen

toby hinloopen

23/08/2009 18:15:00
Quote Anchor link
Mark schreef op 23.08.2009 17:41:
Private is alleen de class waarin de functie staat en protected de class waarin hij staat en afgeleide classes.

Althans volgens het boek dat ik voor me heb liggen.

Dus... als ik een class uitbreid met een andere class kan ik privates onderling niet uitwisselen en protected's wel?

Wat een rare naam dan... "protected". Protected liet mij toch echt denken dat het buiten de classe read-only was , wat ik persoonlijk wel handig zou vinden.
Gewijzigd op 01/01/1970 01:00:00 door toby hinloopen
 
Ivo K

Ivo K

23/08/2009 19:25:00
Quote Anchor link
private is alleen toegankelijk voor de originele class, protected voor de originele en verwante classes, public is algemeen toegankelijk.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

class a
{
   private $x = 1;
   protected $y = 2;
}

class b extends a
{
   function
__construct ()
   {

      // mag niet.
      echo $this->x;
      // mag wel.
      echo $this->y;
   }
}


?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.