回答編集履歴
1
newに対する追記
answer
CHANGED
@@ -11,4 +11,6 @@
|
|
11
11
|
|
12
12
|
何故`Person q`でPerson自体のインスタンス変数が生成されないのかといえば、プログラマー側が自由にインスタンス変数を管理するのは上級者でもバグを産みだしやすく、インスタンス変数から居場所(ポインタといいます)を作成し管理するのに多くの初心者が挫折したからです
|
13
13
|
|
14
|
-
現段階だと「居場所だけ保存するのに何故型をつけるのか」と思うかもしれませんので補足すれば、仮に`Dog`や`Cat`クラスがあった場合、`p`に入っているのが`Person`か`Dog`か`Cat`かわからないとなれば色々と具合が悪いからです
|
14
|
+
現段階だと「居場所だけ保存するのに何故型をつけるのか」と思うかもしれませんので補足すれば、仮に`Dog`や`Cat`クラスがあった場合、`p`に入っているのが`Person`か`Dog`か`Cat`かわからないとなれば色々と具合が悪いからです
|
15
|
+
|
16
|
+
`new`が何かと言えば人間とコンパイラが誤読しないようにするための符号みたいな物なので深く考えてはいけません例えば`Lesson1`クラス内に`void Person()`というメソッドを作成することができますが、もしこのとき`new`がないと`Person p = Person()`が何をしたいのか解らなくなってしまいます。
|