webForumDet fria alternativet

Strukturera kod à la Java

1 svar · 273 visningar · startad av jepsO

jepsOMedlem sedan mars 2001484 inlägg
#1

Jag har hallt pa med PHP ett tag, men kommit pa att min struktur pa kodandet är nästintill bedrövlig. Nu när jag börjat en kurs i Java börjar jag inse att det är dags för klasser, objekt och annat vettigt.

Nu undrar jag hur man normalt definierar klasser i PHP, utifran ett jag-har-precis-lärt-mig-lite-Java-perspektiv ;) . Följande känns som en standard Java-pryl (tog mig friheten att använda PHP-taggen trots att det är Java):

class Huvudprogram {
   public static void main (String[] args) {
      Person mupp = new Person("Kakmonstret", 5, "kaksugen");
      mupp.visaInformation();
   }
}

class Person {
   private String namn;
   private int alder;
   private String status;

   Person (String namn, int alder, String status) {
      this.namn = namn;
      this.alder = alder;
      this.status = status;
   }

   static void visaInformation () {
      System.out.println(namn + " är " + alder + " ar gammal och bör betraktas som " + status);
   }
}

Fragan lyder: Hur översätter jag ovanstaende (fantastiskt användbara) kodsnutt till PHP? Behövs konstruktionsmetod? Haller man nagonsin variabler eller metoder privata? Antar att variabeltyper inte förekommer?

bohlinMedlem sedan mars 2000263 inlägg
#2

Alla metoder och variabler är public. I PHP5 finns dock private och sånt.

Nått sånt här typ:

<?
class Person {
  var $namn, $alder, status;

   function Person($namn, $alder, $status)
   {
       $this->namn = $namn;
       $this->alder = $alder;
       $this->status= $status;
   }

   function visaInformation()
   {
      print("$namn är $ålder år gammal och bör betraktas som $status\n");
   }
}

$mupp = new Person("Kakmonstret", 5, "kaksugen");
$mupp->visaInformation();

?>

Mer om klasser och sånt:
http://se.php.net/manual/en/ref.classobj.php

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)