![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.1ベストアンサー
- 回答日時:
多分無い
思考停止状態でもプログラミングできるのがオブジェクト指向みたいなものです
まあこれは言いすぎかもですけどw
ただし、しっかりと理解をしようとすると
カプセル化、継承、ポリモーフィズムなど
オブジェクト指向の基本機能が奥が深すぎて難しい気がする
私自身、オブジェクト指向は普段使わないので、説明できないです。
なんとなくこんなものとふんわりと理解はしていますが
正確な説明や、使い道などが全然分かりません
このふんわりとした理解でも使えてしまうのが
オブジェクト指向の欠点
内部の動作を理解できていなくてもプログラムが組めてしまうので
予想外なバグに対応できない初心者が多いみたいです
オブジェクト指向から入ったプログラマーが嫌われがちなのはこういった背景があります
No.4
- 回答日時:
オブジェクトどうしが互いにメッセージをやり取りすると言われても
互いのインスタンスを知り得なければメッセージのやり取りなどできません。
私は最初にここにハマったような記憶があります。
実際には、普通の実装はどうなっているかといえば、それぞれのオブジェクトが、
メッセージをやりとりする相手のインスタンスのポインタを、
コンストラクタ引数やsetterなどを介して、もらうわけです。
ちょっとメッセージをやり取りするだけの相手のポインタを
自身のインスタンスに保持しなければいけないというのは大いに違和感を覚えました。
"テレビ"クラスと"視聴者"クラスがあって
「視聴者がテレビのスイッチを入れたら、テレビは視聴者に映像と音声を届ける」
というケースを考えたとして
"テレビ"クラスは"視聴者"クラスのポインタを、
"視聴者"クラスは"テレビ"クラスのポインタを、
それぞれのクラスの属性として持たなければならない、というのは
現実世界のテレビと視聴者の関係を表現していないような気がしたのです。
No.3
- 回答日時:
プログラミング言語全般に関しては、言語自体の実装をイメージできるだけのコンピュータの基礎知識、プログラミング言語自体の開発に必要な基礎知識の有無。
オブジェクト指向プログラミング言語の場合は、加えてオブジェクト指向プログラミング言語以前の例えばC言語の開発上の問題点の理解、クラス設計者に必要なスキルと知識、ガベージコレクションとメモリ解放タイミングの理解、リファクタリングのためのプロファイラーツールの活用力。
No.2
- 回答日時:
>>素人や初心者が、ぶち当たる「オブジェクト指向の壁」って何だと思いますか?
1.オブジェクト指向について適切な説明をした書籍が少ないこと。(誤解を生む内容の本も多い)
2.COBOLやC言語、Basic等の昔からある言語に比べると、理解すべきことがずっと多いこと。
3.プログラミングに際して、事前にそれなりの設計が要求されること(CやBasicみたいに「とりあえず適当にコードを作っていく」のが難しい)
こんなところではないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- Visual Basic(VBA) Excel VBA オブジェクトマクロ 使用指定について お詳しい方教えてください。 共通エクセルフ 2 2023/03/14 17:26
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/05/21 02:41
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- PowerPoint(パワーポイント) パワーポイントのアニメーションについて 4 2023/06/14 16:25
- Excel(エクセル) テキストの背後にあるオブジェクトとは 3 2023/01/03 20:22
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Access(アクセス) ACCESS2019でのエラーメッセージ 1 2023/08/15 17:40
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
単体テストのテストケースにて...
-
抽象クラスのエラーが出ます
-
Javaでタスクシステムを作るの...
-
javaでクッキー認証を必要とす...
-
JavaでのAPIの覚え方ってみさな...
-
委譲って何ですか?
-
(vba)他のアプリケーションの右...
-
WPF C# PointToClient
-
Java難しすぎ
-
「ラッパークラス」の存在意義...
-
日本の教育って時間が無い中で...
-
A・B・Cクラスとは?
-
エクセルVBAで、条件に一致する...
-
数学の計算問題。 3年間同じク...
-
アサーションと例外処理の違い...
-
クラスのプロパティに構造体を...
-
JTableで値を右寄せ表示する方法
-
getId()がint?
-
コマンドプロンプト実行後に画...
-
ワイルドカード<?>と型パラメー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
C# 「データが失なわれる可能性...
-
「ラッパークラス」の存在意義...
-
c++でのヘッダーファイルの循環...
-
(vba)他のアプリケーションの右...
-
JavaでのAPIの覚え方ってみさな...
-
ゲッターを使わないで変数にア...
-
「継承されたメソッドの可視性...
-
「IOException は対応する try ...
-
【C#】クラスのコンストラクタ...
-
VB DLLプロジェクトについて
-
Javaのインスタンス化の構文の...
-
Javaで下線
-
委譲って何ですか?
-
ASP.NETでの共通コードの書き方...
-
オーバーライドとラッパーの違い
-
抽象クラスをJUNITでテストする...
-
JTextFieldの入力制限
-
Commons-Discovery.jarとは?
-
setTextについて
おすすめ情報