回答編集履歴

4

追記

2019/11/03 15:27

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- まあでもそれはコンパイル言語だからできる芸当だという事実もあって、動的言語というかインタプリタ言語では「クラスもオブジェクト」の方が自然です。逆に、これによって動的言語は強力な記述力を獲得しています。
31
+ まあでもそれはコンパイル言語だからできる芸当だという事実もあって、動的言語というかインタプリタ言語では「クラスもオブジェクト」の方が自然です(今どきのオブジェクト指向プログラミングが当たり前の前提の動的言語から見ればの話)。逆に言うと、これによって動的言語は強力な記述力を獲得しています。
32
32
 
33
33
 
34
34
 

3

追記

2019/11/03 15:27

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- クラスを必ずオブジェクトにしないといけない、ということはないはずです。プログラムとしては「クラス」でひな形を記述するけど、その構造はコンパイル時にぜんぶ静的に解決されて消し飛ばされる、という言語設計だってありえます。Javaなどは基本的にはこれです。
19
+ クラスを必ずオブジェクトにしないといけない、ということはないはずです。プログラムは「クラス」でひな形を記述するけど、その構造はコンパイル時にぜんぶ静的に解決されて消し飛ばされる、という言語設計だってありえます。Javaなどは基本的にはこれです。
20
20
 
21
21
 
22
22
 

2

追記

2019/11/03 08:07

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -16,7 +16,11 @@
16
16
 
17
17
 
18
18
 
19
- クラスを必ずオブジェクトにしないといけない、ということはないはずです。プログラムとしては「クラス」でひな形を記述するけど、その構造はコンパイル時にぜんぶ静的に解決されて消し飛ばされる、という言語設計だってありえます。Javaなどはこれです。
19
+ クラスを必ずオブジェクトにしないといけない、ということはないはずです。プログラムとしては「クラス」でひな形を記述するけど、その構造はコンパイル時にぜんぶ静的に解決されて消し飛ばされる、という言語設計だってありえます。Javaなどは基本的にはこれです。
20
+
21
+
22
+
23
+ この場合は「クラスはオブジェクトとしては存在しない」「メソッドはただの(インスタンス自身を引数に取ったりする)サブルーチンになる」「属性やメソッドへのアクセスはインスタンスのメモリ番地(と属性やメソッドによって予め決められたオフセット)で行う」みたいな方針になります。低レイヤから見ればただの手続き型に近い訳です(これも程度問題ですが)。
20
24
 
21
25
 
22
26
 

1

追記

2019/11/03 08:06

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -88,6 +88,10 @@
88
88
 
89
89
 
90
90
 
91
+ 「オブジェクト指向」は更に広い概念で、クラスベース、インスタンスベースのどちらも含みます。
92
+
93
+
94
+
91
95
  ---
92
96
 
93
97