オブジェクト指向がよくわからないのですが

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
教えてエロい人
2デフォルトの名無しさん:2012/10/14(日) 00:23:35.45
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
3デフォルトの名無しさん:2012/10/14(日) 12:36:55.47
いい質問ですね
4デフォルトの名無しさん:2012/10/14(日) 13:22:49.15
動作の主体を中心にしたプログラムのことだろ、犬がわんわんと鳴く
プログラムをオブジェクト指向で書くとこうなるわけ。
class Dog {
    void bark() {
        System.out.println("わんわん");
    }
}

一方手続き型で書くとこうなるわけ。
static void bark(String animal) {
    if ("Dog".equals(animal)) {
        System.out.println("わんわん");
    }
}

つまりだ、橋本進吉は言いました、文章には主語と述語があります。
主語は動作の主体、Dogオブジェクトであり、述語は動作、関数barkである。
オブジェクト指向は主語と述語が強く結びつくものだってこと。

一方、橋本進吉はこうも言いました。述語を修飾するという意味においては主語は
他の格と同列である。主語は述語である関数barkの引数となんら変わることはないってこと。

日本語は述語を中心とした言語であり日本語には主語がないというのが現代の日本語学の常識である。
そういう意味においては主語を特別扱いする方向、手続き型からオブジェクト指向へと進んだプログラム言語と、
主語はなく述語が中心であるという方向へすすんだ日本語とは対照的だってこと。

結論としてはオブジェクト指向は日本の文化にそぐわない鬼畜欧米の考え方だってこと。
5デフォルトの名無しさん:2012/10/14(日) 13:29:05.52
それでいいの?
64:2012/10/14(日) 13:40:55.98
>>5
いいだろ、手続き型のほうがすぐれているってこと、オブジェクト指向は言語としての退化だってこと。

たとえばバイナリツリーでノードウォーキングするときのことを考えてみろよ、
手続き型ならこんなふうに書けるだろ。
void walking(node) {
if (node == null) return;
……
}
オブジェクト指向には逆立ちしたってできないことだろ、日本の文化の勝利ってこと。
7デフォルトの名無しさん:2012/10/14(日) 14:19:51.11
でもあくまでも仮のアドレスだから
8デフォルトの名無しさん:2012/10/14(日) 20:52:05.81
>>6
利点がどこかよくわからないので
オブジェクト指向と比較してどこが
有利なのか解説してくれませんか
9デフォルトの名無しさん:2012/10/15(月) 01:40:59.30
オブジェクト指向ならこうなるだろ。

void walking() {
    if (left != null) {
        left.walking();
    }
    System.out.println(value);
    if (right != null) {
        right.walking();
    }
}

nullチェックが超めんどくせえだろ、手続き型ならnullチェックを一箇所に
まとめることができるだろ、手続き型大勝利ってこと。
10デフォルトの名無しさん:2012/10/15(月) 20:43:14.36
たいした利点じゃねーなあ
11デフォルトの名無しさん
nullをなめたやつには天罰が下る
  Λ_Λ  \\
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >_Λ∩
  _/し' //. V`Д´)/
 (_フ彡        / ←>>10