回答編集履歴

1

前半部分も回答

2019/01/13 22:24

投稿

maisumakun
maisumakun

スコア145201

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::`による呼び出しは**インスタンスメソッド**を呼ぶこともできるもので、警告は無関係です。