質問編集履歴

1

2015/02/20 04:03

投稿

lorely
lorely

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,81 +1,38 @@
1
1
  このコードで、なぜ以下のような結果になるのかが理解出来ません。
2
-
3
-
4
-
5
- ```lang-php
6
2
 
7
3
  <?php
8
4
 
9
-
10
-
11
5
  class A
12
-
13
6
  {
14
-
15
- public function Func() {
7
+ public function Func() {
16
-
17
- $this->privateFunc();
8
+ $this->privateFunc();
18
-
19
- $this->publicFunc();
9
+ $this->publicFunc();
20
-
21
- }
10
+ }
22
-
23
- public function privateFunc() {
11
+ public function privateFunc() {
24
-
25
- echo "A::privateFunc\n";
12
+ echo "A::privateFunc\n";
26
-
27
- }
13
+ }
28
-
29
- private function publicFunc() {
14
+ private function publicFunc() {
30
-
31
- echo "A::publicFunc\n";
15
+ echo "A::publicFunc\n";
32
-
33
- }
16
+ }
34
-
35
17
  }
36
18
 
37
-
38
-
39
- class B extends A
19
+ class B extends A
40
-
41
20
  {
42
-
43
- public function privateFunc() {
21
+ public function privateFunc() {
44
-
45
- echo "B::privateFunc\n";
22
+ echo "B::privateFunc\n";
46
-
47
- }
48
-
49
-
50
-
51
- private function privateFunc() {
52
-
53
- echo "B::privateFunc\n";
54
-
55
- }
56
-
57
23
  }
58
24
 
59
-
25
+ private function privateFunc() {
60
-
26
+ echo "B::privateFunc\n";
61
-
27
+ }
28
+ }
62
29
 
63
30
  $B = new B();
64
-
65
31
  $B->test();
66
-
67
32
  ?>
68
33
 
69
- ```
70
-
71
-
72
-
73
34
  A::privateFunc
74
-
75
35
  B::publicFunc
76
-
77
36
  最初のアウトプットはなぜB::privateFuncではないのですか?親のメソッドが子にオーバーライドされたはずなのに・・・。
78
37
 
79
-
80
-
81
38
  よろしくお願いします。