04 | 2025/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
オーバーロード:
同名の関数を引数を変えて多重定義できる機能。
例えば画像を表示する関数で
引数(X軸,Y軸)
引数(X軸,Y軸,回転角度)
の同名の関数を定義できる。
オーバーライドは
サブクラスにて,基底クラスで定義された関数を定義しなおすこと。
ここで,基底クラスの
近年,オブジェクト指向プログラミングが,もてはやされています.
しかし,本当に必要なのでしょうか?
C言語など手続き型言語で十分なように思ってしまいます。
オブジェクト指向が良いとされる理由として
「開発力が上がる」というのがあります.これは一度作ったモジュールを
再利用することができるからだと思われます.
(でもC言語でも関数を使いまわせるような気がします 疑問)
OOPが本当に必要なのかを理解するため,
その利点と,どのような場面で有効なのかを考えてみたいと
思います。
オブジェクト指向のキーワード
・カプセル化(情報隠蔽)
・抽象化(クラスとオブジェクト)
・階層的構造化(継承と集約)
・メッセージ
・ポリモーフィズム
構造の表記方法
UMLなど
具体的な言語
Javaなど
「カプセル化」
データとそれを処理する手続き これらをまとめてしまうのがカプセル化の
役割の一つ。
データは属性とも呼ばれる,オブジェクトの名前,所属など性質を表現する。
処理する手続きはメソッドとも呼ばれる。メソッドはデータへのアクセスや操作を
行なう。(例:所属の変更→名刺のアドレスを書き換える など)
カプセル化の役割。
オブジェクトのデータを直接外部からアクセスさせないようにします。
データを操作するときは,アクセスできるメソッドを経由してのみ授受できるものとします。
これにより,データの構造や内部の処理を外部から隠蔽します。(内部構造を詳しく知らなくても
モジュールを扱える!)
このため,オブジェクトはデータ構造の定義と,それらにアクセスするためのメソッドによって
構成されています。
クラスに関して参考サイト
http://www.aerith.net/design/class-j.html