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>