c++及びオブジェクト指向プログラミングの理論メモ
コード書きつつも理論勉強しようと思い、解釈できたらすっきりできたことが多かったです。
テキスト見ずにオブジェクト思考のコアポイントを頭の中で思い出しながらブログで解説してみます。(時たまカンニングしましたが。。。)
コアポイント
- オブジェクト指向(object orientation)
- 属性(property)
- 動作(method)
- クラス(class)
- インスタンス化(instance)
- ソースコード(sorce code)
- プリプロ
- コンパイル
- デバック
- 関数(function)
- 変数(variable)
- 引数(argument)
- 戻り値(return value)
オブジェクト指向プログラミングとは?
一つ一つのプログラムされた部品のようなもの。
それぞれ値や処理手順を持っており、その部品が集合して相互作用(ひとつひとつのモジュール)によりプログラムした結果がでる(であってるはず)
オブジェクト名:りんご
属性(property)とは
オブジェクトの特徴や性質、名前を表す。コード中に属性を表すのは変数。
属性(変数):色・形・量
動作(method)とは
オブジェクトの動作を表す。コード中、動作を表すのは関数
動作(関数):腐る、落ちる、熟す
クラス(class)とは
オブジェクトをプログラムさせるための設計図。ofだとmain.cppで設定する
インスタンス化(instance)とは
クラスのままだとあくまで設計図のためプログラムのモジュールとして使えません。クラスをプログラムのモジュールとして使用させることを”インスタンス化”という。変数の定義とよく似てる。main.cppに[インスタンス名]:[変数]で宣言することが多い
ソースコード(sorce code)とは
人間の書くコード。この時点では機械に変換可能な言語(アセンブリ語)ではない
>プリプロとは
人間が書いたコードを機械に変換可能なように成型する
コンパイルとは
デバックとは
ソースコードの修正、訂正すること
関数(function)とは
y=2xの場合
xとyは変数(名前、性質)。2が関数(動作)
パチンコで言うとパチンコ玉が変数で換金所が関数。パチンコ玉(変数)を換金所(関数)がお金(変数)にかえること。このサイトが死ぬほど分かりやすかった↓
【中学数学】関数とは何ものなのか??〜意味と定義を5分でふりかえる〜 | QIKERU:中学生のための無料学習サイト
変数(variable)とは
名前や性質を表すもの。
変数をどのような名前で呼び、どのよう名前、種類を用いるかを宣言するデータ型と呼ばれるものがある。データ型の代表としてfloat(小数点含む数字)、bool(真か偽かの判定)、int(整数)、char(文字型)などがある。
引数とは
動作(関数)の中の要素。
例えば石彫というオブジェクト名があって変数が石で、石を刻む作業を関数とすれば、石を刻むためのノミ、ハンマー、ドリル、石切場、石などの要素が引数になる
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips01.htm
戻り値とは
変数(属性)が関数(動作)を処理の結果として返す値。
のび太(変数)がドラえもんの四次元ポケット(関数)を使ってどのようなオチ(戻り値)になるかということ。
ここまで読んでて全然おもろくないと思うのですが1週間くらいコードを書いてるとなんであれああいう処理になるんだろうと思ってた疑問が解決されてすっきりしました。
全然関係ないのですが興味がある福祉ベンチャー企業に提出するES内容に「あなたが思う多様性のある社会について述べなさい」という論述的なのがあって頭悩ませてます。答えをだれかおしえてくれ。。。