プロが教える店舗&オフィスのセキュリティ対策術

プログラミングにおいて

Java言語などのオブジェクト指向とは

「クラス(設計図)からインスタンス(実体)を量産できる。」がオブジェクト指向ではないプログラミング言語との決定的な違いなのでしょうか?

またオブジェクト指向とオブジェクト指向ではない言語の決定的な違いや
実際に実務において経験した感覚的な違いなどがあれば教えてください。

インターネットに乗っていない些細なことでも構いません。

A 回答 (2件)

>「クラス(設計図)からインスタンス(実体)を量産できる。

」が
>オブジェクト指向ではないプログラミング言語との決定的な違いなのでしょうか?

見当違いですね。これだけなら少々面倒ですがCでも出来ます。

オブジェクト指向は考え方であり設計手法です。それを表現しやすいように
設計されている言語がオブジェクト指向言語です。

一般にオブジェクト指向言語は

⚪フィールドやメソッドを纏めてカプセル化した「クラス」と呼ばれる
モジュール単位を持つ。
⚪クラスの継承をサポートする。

が最低限かな。通常はこれに加えて、総称性とかインターフェースとか
様々な機能を満載してます。
    • good
    • 0

数学の世界では、関数(写像) の引数には定義域というものがあって、範囲外の値を入力することは許されません。



しかし、定義域を変えて新しい関数を定義することはできます。

例えば対数関数 log x の場合、定義域は x>0 ですが、x=0 の時、log 0=-∞ と定義することもできます。

高校数学では、x<0 を可能にするために log|x| とすることが多いのですが、多値関数の概念を学ぶと

cosπ+i sinπ=e^(iπ)
log(-1)=i(2n-1)π

のように負の対数も定義可能になります。

オブジェクト指向の概念はこれと似ており、入力側の型や範囲を拡げて定義することで既存のプログラムの書き換えをする手間を減らそうというものです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!