回答編集履歴
1
前半部分も回答
test
CHANGED
@@ -1,7 +1,17 @@
|
|
1
|
+
> php.netの解説に上記のようにあるのですが、「そのオブジェクトのクラス」が何を指すのかわかりません。
|
2
|
+
|
3
|
+
上記の例でstaticはクラスAを指す、ということでしょうか?
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
いえ、**継承された後のクラス**を指しています。だから、`C`のほうでは`private C::foo`を`A`から呼び出そうとして失敗しています。
|
8
|
+
|
9
|
+
|
10
|
+
|
1
11
|
> static::foo();
|
2
12
|
|
3
13
|
の部分は静的でないメソッドを静的に呼び出していると思うのですが
|
4
14
|
|
5
15
|
|
6
16
|
|
7
|
-
いえ、`static::`や`parent::`による呼び出しは**インスタンスメソッド**
|
17
|
+
いえ、`static::`や`parent::`による呼び出しは**インスタンスメソッド**を呼ぶこともできるもので、警告は無関係です。
|