Gå til innhold

PHP4 - hvofor deklarere med var i klasser?


Anbefalte innlegg

I de fleste eksempler på OOP i PHP deklareres variable med bruk av var øverst i klassen. Jeg har lest at dette gjør variablen til en class-wide variable.. Men jeg ser ikke helt poenget.

 

F.eks er $this->name tilgjengelig i hele klassen i koden under selv om det ikke er noe var-statement, dvs

var $name, $age;

 

class Person
{
   function Person($name, $age)
   {
       $this->name = $name;
       $this->age = $age;
   }
   
   function report()
   {
       return "$this->name is $this->age years";
   }
}

 

Det jeg lurer på er hvilken funksjonalitet jeg "går glipp av" ved ikke å bruke var.

 

I python, som jeg helst bruker, skilles det mellom instans- og klasse-"variable". I eksempelet under vil personCtr være delt av alle instanser av klassen.

 

class Person(object):
   
   personCtr = 0
   
   def __init__(self, name, age):
       self.age = age
       self.name = name
       
       # Klassevariabel
       Person.personCtr += 1
   
   def report(self):
       return "%s is %s years" (self.name, self.age);
   
   def numberOfPersons(self):
       return Person.personCtr

 

Er det noe slikt var skal fikse?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...