04/07_staticd_FS.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 static function S ()
39 {
40 echo "CB::S2:". self::$p." <br />\n";
41 echo "CB::S3:". CA::$p." <br />\n";
42 }
43
44 public function F ()
45 {
46 echo "<b>Volanie parent::S()</b><br />\n";
47 parent::S();
48 echo "<b>Volanie self::S()</b><br />\n";
49 self::S();
50 }
51 }
52
53 echo "<b>Vytvorenie objektu \$A</b><br />\n";
54 $A = new CA("A");
55 CA::$p="Bum";
56 echo "<b>Volanie \$A->S()</b><br />\n";
57 $A->S();
58 echo "<b>Volanie \$A->F()</b><br />\n";
59 $A->F();
60 echo "<b>Volanie CA::S()</b><br />\n";
61 CA::S();
62 // echo "<b>Volanie CA::F()</b><br />\n";
63 // CA::F(); // Chyba: Using $this when not in object context
64
65 echo "<br /><b>Vytvorenie objektu \$B</b><br />\n";
66 $B = new CB("B");
67 CB::$p="Juj";
68 echo "<b>Volanie \$B->S()</b><br />\n";
69 $B->S();
70 echo "<b>Volanie \$B->F()</b><br />\n";
71 $B->F();
72 echo "<b>Volanie CB::S()</b><br />\n";
73 CB::S();
74
75 echo "<br /><b>Overenie hodnôt premenných</b><br />\n";
76 echo "\$A->x=$A->x CA::\$p=".CA::$p."<br />\n";
77 echo "\$B->x=$B->x CB::\$p=".CB::$p."<br />\n";
78
79 ?>
80 </body>
81 </html>