オブジェクト指向プログラミングchap1
大学の講義でオブジェクト指向プログラミング(java)があるんですけども。
オブジェクト指向プログラミングって結構大事な考え方?な気がするんですよね。
せっかくなので各授業のメモや学びをアウトプットも交えて記事に書いてやろうかなと思います!
て事で第一回目の講義です。
.....っていきたいところなんですけど、大学の講義の第一回目って大抵オリエンテーションですよね。なので今日のボリュームは少なめです。
1.準備
eclipse(ver.Oxygen)というかっこいエディタと、亀さん(学習用プログラム)を使って開発していくそうです。VscodeとBracketsくらいしか使った事ないのでワクワクです。
2.大規模な開発とオブジェクト指向
大規模な開発には1.コードが複雑になってしまう2.コードを見る人数も多くなる3.完成品は長期間メンテナンスが必要と言うような3つの課題がある。
そこで、モジュール開発と呼ばれるものと、オブジェクト指向が役に立つ。
モジュール開発とは!
- 高速に動く<大人数での開発のしやすさ
- モジュールごとの開発が周りへの影響が最小限になるようにする。
オブジェクト指向とは!
- プログラムはモジュールの集まり!最高!
みたいな感じらしい。
PCでクラス単位でコード書いて、コンパイル→.classという拡張子のファイルができるらしい。このファイルのコードをバイトコードっていうんだってさ〜。次にネット通して、携帯端末とかネットTVとか他社PCとか(いろんなプラットフォームに対応)に飛ばして、あらかじめ組み込まれている、JVMと呼ばれる仮想マシンを使って動かせるらしい。JVMはJavaVirtualMachineの略。めっちゃかっこいい。AndoroidとかMinecraftはJavaで動いてるんだってな!!
てかこの話あんまオブジェクト指向とは関係ない気がするけど、、、??
4.オブジェクトとクラス
お!このタイトルはっぽいぞ!この二つはどんな関係なんだろうか。
まずオブジェクトを生成する。オブジェクトにメソッドの実行をしてもらう。
なるほど。
・クラスはオブジェクトの種類などを定義する。
・オブジェクトはクラスを指定して作成する
・あるクラスに属するオブジェクトは、そのクラスのインスタンスと呼ぶ。
ん?よくわからん!!!!!!!!
てかインスタンス君。君は一体どこからきたんだい。名前がインスタントラーメンみたいで美味しそうだな!!
多分だけど、
型 変数 = 初期値;において変数がオブジェクトと呼ばれるっぽい?
んでもってクラスはよくわからない!!メソッドとは何が違うんだ!
でもそのよくわからないクラスが初期値として代入されている変数(オブジェクト)はインスタンスと呼ばれるっぽい!
だから変数(オブジェクト(インスタンス))みたいな気持ち悪い名前を持ってます。
というような感じだと思われます。
コンストラクタとかプリミティブ値とか出てきたけどカタカナ怖くなってきた。
5.コンストラクタ
・オブジェクトを生成する際に、変数などを初期設定する手続き
何?引数のこと言ってんのかな?引数が複数個あるときは多重定義(オーバーロード)っていうだけかな?だったらめっちゃ難しく言い回ししてるだけか笑
・クラスからオブジェクトを作成した際に、自動的に実行されるメソッドのことで、メンバ変数の初期化などの主に行います。
調べたら違ったっぽい。まあまだ1回目の講義だし時期にわかるっしょ!!
・内部に状態を持っている→インスタンス変数(公開)と内部変数(非公開)がある
・インスタンスメソッドの呼び出しに応じて処理を実行する
というのも書いてあった。
カタカナばっかで正直キチィ!1回目はこれでおしまい!!