回答編集履歴
2
若干記述修正
answer
CHANGED
@@ -14,8 +14,15 @@
|
|
14
14
|
っていう話ですよね.だから `private` にしている,と.
|
15
15
|
|
16
16
|
これだと
|
17
|
-
`X x = new X(); x.F2();` みたく `X` の外側から `F2()` を使
|
17
|
+
`X x = new X(); x.F2();` みたくして `X` の外側から `F2()` を使うことができないわけですが,それだけでなく,
|
18
18
|
`class Y : X` として `X` を継承した `Y` の内側(: `Y` の別のメソッドとかの中)でも `F2()` は使えません.
|
19
19
|
|
20
|
+
```C#
|
21
|
+
public class Y : X
|
22
|
+
{
|
23
|
+
public Method(){ F2(); } //←できない.
|
24
|
+
}
|
25
|
+
```
|
26
|
+
|
20
27
|
それで良いなら `private` のままでOKです.
|
21
28
|
それだと困る(: `F2()` というのは,外側からは使えないようにしたいけども, `X` を継承した `Y` の内側では使いたい)という場合に,それを可能にするのが `protected` です.
|
1
誤記修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
`protected` よりも前に,
|
2
|
-
`public` と `private` については
|
2
|
+
`public` と `private` については大丈夫なんでしょうか.たとえば
|
3
3
|
|
4
4
|
```C#
|
5
5
|
public class X
|