04/06_staticd_F.php


  1  <html>
  2  <body>
  3  <?php
  4  
  5  class CA
  6  {
  7    public $x="?";
  8    public static $p="??";
  9    public function CA($x)
 10    {
 11      $this->x=$x;
 12      echo "CA::CA($x)<br />\r\n";
 13    }
 14  
 15    public static function S ()
 16    {
 17      // echo "CA::S1: $this->x <br />\n";   // Chyba: Using $this when not in object context
 18      echo "CA::S2:". self::$p." <br />\n";
 19      echo "CA::S3:". CA::$p." <br />\n";
 20    }
 21  
 22    public function F ()
 23    {
 24      echo "CA::F1: $this->x <br />\n";
 25      echo "CA::F2:". self::$p." <br />\n";
 26      echo "CA::F3:". CA::$p." <br />\n";
 27    }
 28  }
 29  
 30  class CB extends CA
 31  {
 32    public function CB($x)
 33    {
 34      $this->x=$x;
 35      echo "CB::CB($this->x)<br />\r\n";
 36    }
 37  
 38    public function F ()
 39    {
 40      echo "CB::F1: $this->x <br />\n";
 41      echo "CB::F2:". self::$p." <br />\n";
 42      echo "CB::F3:". CA::$p." <br />\n";
 43      echo "CB::F4:". parent::$p." <br />\n";
 44    }
 45  }
 46  
 47  echo "<b>Vytvorenie objektu \$A</b><br />\n";
 48  $A = new CA("A");
 49  CA::$p="Bum";
 50  echo "<b>Volanie \$A->S()</b><br />\n";
 51  $A->S();
 52  echo "<b>Volanie \$A->F()</b><br />\n";
 53  $A->F();
 54  echo "<b>Volanie CA::S()</b><br />\n";
 55  CA::S();
 56  // echo "<b>Volanie CA::F()</b><br />\n";
 57  // CA::F();  // Chyba: Using $this when not in object context
 58  
 59  echo "<br /><b>Vytvorenie objektu \$B</b><br />\n";
 60  $B = new CB("B");
 61  CB::$p="Juj";
 62  echo "<b>Volanie \$B->S()</b><br />\n";
 63  $B->S();
 64  echo "<b>Volanie \$B->F()</b><br />\n";
 65  $B->F();
 66  echo "<b>Volanie CB::S()</b><br />\n";
 67  CB::S();
 68  
 69  echo "<br /><b>Overenie hodnôt premenných</b><br />\n";
 70  echo "\$A->x=$A->x  CA::\$p=".CA::$p."<br />\n";
 71  echo "\$B->x=$B->x  CB::\$p=".CB::$p."<br />\n";
 72  
 73  ?>
 74  </body>
 75  </html>

« Späť