04/01_staticd.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    public static function S ()
 15    {
 16      // echo "CA::S1: $this->x <br />\n";   // Chyba: Using $this when not in object context
 17      echo "CA::S2:". CA::$p." <br />\n";
 18      echo "CA::S3:". self::$p." <br />\n";
 19    }
 20  
 21    public function F ()
 22    {
 23      echo "CA::F1: $this->x <br />\n";
 24      echo "CA::F2:". self::$p." <br />\n";
 25      echo "CA::F3:". CA::$p." <br />\n";
 26     //    self::S();   // aj toto ide
 27    }
 28  }
 29  
 30  class CB extends CA
 31  {
 32    public function CB($x)
 33    {
 34      $this->x=$x;
 35      echo "CB::CB($x)<br />\r\n";
 36    }
 37  }
 38  
 39  echo "<b>Vytvorenie objektu \$A</b><br />\n";
 40  $A = new CA("A");
 41  CA::$p="Bum";
 42  echo "<b>Volanie \$A->S()</b><br />\n";
 43  $A->S();
 44  echo "<b>Volanie \$A->F()</b><br />\n";
 45  $A->F();
 46  echo "<b>Volanie CA::S()</b><br />\n";
 47  CA::S();
 48  // CA::F();  // Chyba: Using $this when not in object context
 49  
 50  echo "<br /><b>Vytvorenie objektu \$B</b><br />\n";
 51  $B = new CB("B");
 52  CB::$p="Juj";
 53  echo "<b>Volanie \$B->S()</b><br />\n";
 54  $B->S();
 55  echo "<b>Volanie \$B->F()</b><br />\n";
 56  $B->F();
 57  echo "<b>Volanie CB::S()</b><br />\n";
 58  CB::S();
 59  
 60  echo "<br /><b>Overenie hodnôt premenných</b><br />\n";
 61  echo "\$A->x=$A->x  CA::\$p=".CA::$p."<br />\n";
 62  echo "\$B->x=$B->x  CB::\$p=".CB::$p."<br />\n";
 63  
 64  
 65  ?>
 66  </body>
 67  </html>

« Späť