回答編集履歴
2
追記
test
CHANGED
@@ -17,3 +17,11 @@
|
|
17
17
|
個人的には正直、あまり使わないというか使うとややこしくなるから使って欲しくない機能です。
|
18
18
|
|
19
19
|
|
20
|
+
|
21
|
+
追記:
|
22
|
+
|
23
|
+
すいません、肝心のもう一つの質問に答えていませんでした。
|
24
|
+
|
25
|
+
結論からいうと同じです。違いは警告が出るかどうかというだけです。
|
26
|
+
|
27
|
+
|
1
修正
test
CHANGED
@@ -2,8 +2,18 @@
|
|
2
2
|
|
3
3
|
クラスの継承の話です。
|
4
4
|
|
5
|
-
一言で言うならoverrideの逆とでも認識しておけばOKです。
|
6
5
|
|
7
|
-
正直、あまり使わないというか使うとややこしくなるから使うなというか(個人的な感想です)
|
8
6
|
|
9
|
-
そ
|
7
|
+
親と同じ名前の変数や関数を定義すると、その部分を上書きしてしまいます。
|
8
|
+
|
9
|
+
意図してやっているのならいいのですが、親がどんな変数や関数を持っているかをいちいち調べるのは面倒でうっかり同じ名前のものを定義してしまう事があります。
|
10
|
+
|
11
|
+
うっかりの場合、変な挙動になる可能性があるのでコンパイラが警告を出してくれますが、わざとやっている場合はこれがうざったくなります。
|
12
|
+
|
13
|
+
ですので、この警告を消すために必要なのがnew 修飾子です。これを入れると警告がでなくなります。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
個人的には正直、あまり使わないというか使うとややこしくなるから使って欲しくない機能です。
|
18
|
+
|
19
|
+
|