2016-07-22 3 views
1

私は多くのウェブサイトを見ています。あるものは、オブジェクト指向プログラミングと命令プログラミングを互換的に使用しますが、他の人はそれらが異なっていると言います。命令型プログラミングとオブジェクト指向プログラミングの違いは何ですか?

私は、オブジェクト指向と命令型の違いと、これらのパラダイムの違いを知りたいと思います。または、彼らの違いが全くない場合。

+0

この質問は、プログラマーに最適です.stackexchange.com –

+2

@RobKいいえ、実際はそうではありません。件名には_books_、専門用語については聖戦が書かれています。おそらく論文の外にはどこからでも答えることはできません。 – enderland

+0

@enderland「それほど悪くない」?しかし、私たちは確かにそれがここにはあまり適していないことに同意する。 –

答えて

5

これは厳しい言葉です。なぜなら、関係する用語が異なる人々に異なることが多いからです。

(厳密には「厳密に言えば」と言われることもありますが)要するに、宣言的なのは逆です。

厳密なOOの提案者は、OOが宣言的であると言えるでしょう。 David Westのこの本の名前帳とこのブログ:http://www.yegor256.com/のOOの "Object Thinking"スタイルを参照してください。

多くの場合、実世界を記述しモデリングするのではなく、何らかの意味でコンピュータに何かを伝え始めるという、非常に手続き的かつ命令的なスタイルにしばしば「逸脱」します(ある意味では)をオブジェクトで置き換えます。

Here's便利かもしれませんビデオは。それは、手続き型プログラミングとオブジェクト指向を対比し、ここで私たちの目的のための「手続きは、」大体「が不可欠」と同義である。)

私はそれは偉大な答えはありません知っています、おそらくそれは有用です。

+0

OOPは、手続き型と命令型のパラダイムの中間者のように、ほとんど比喩的には同じですか? – attachPost

+0

@attachPost、あなたの質問を編集するか、コメントで議論を始めるのではなく、新しい質問をしてください。 – jaco0646

+1

あなたは@attachPostの意味を正確には分かりませんが、OOPを定義する方法に応じて、OOPは必須か宣言的と考えることができます。完全な開示のために、私は「良い」OOP(正しく理解されているOOP)が根本的に宣言的であるという見解に直面しています。より不可欠なまたは手続き的なことは、ポイントを逃しているほど多くなります。理想的には、2つのアプローチをあまり混在させるべきではありません。この見方は多くの人々とうまく行きません。しかし、少なくとも2つの "極端な"ことに気づくべきです。 :) –

0

上から下には、命令型言語の主要なサブタイプが2つあります。

  • 手続き型言語(例えばBASIC、FORTRAN) - コード及びデータは完全に別個のものとして扱われ、単純なコード作動オンデータパラダイムを有しています。

  • オブジェクト指向(OO)言語 - データとコード(メソッドの形式)がオブジェクトにまとめられています。オブジェクト指向言語では、メタデータ(クラス情報など)によって多かれ少なかれ追加の構造が課せられます。

+0

プログラミング言語とプログラミングパラダイムを混同しないでください。現代の言語のほとんどは、複数のパラダイムをサポートしています。 – jaco0646

関連する問題