第2回目(10/9)
1.講義メモ
オブジェクト指向って何
・ある特定の目的を達成することを重視する考え方
・ソフトウェアにおいて更新は当たり前、それに対して変更しやすいという要素
・オブジェクト指向の概念があるプログラム言語を使っていけば既存の機能を破壊せずアップデートをすることができる
・実現するための概念は、ポリモーフィズム、継承、カプセル化がある
・現場ではクラスでプログラムを作成する
Rubyにおける型
・Rubyは動的型付け言語
・irbで型がどう働いているか確認できる
・変数は、名前の付け方が非常に大事
https://codic.jp/engine
クラス・メソッド・アクセス修飾子とか
・クラスはpublicメソッドになっている
・privateメソッドにすると外部から呼び出せない
・メソッドの並び順はアルファベット順にすると探しやすい
・privateメソッドはどのようなときに使うか?
- コード書いてから、privateメソッドに分ける
- そのクラスで読み込むものだけをprivateメソッドに入れる
継承とオーバーライド
・継承は、クラスを引き継ぐ
- 親が「かみつく」の技があり、その子が継承し「かみつく」が使えるというイメージ
- 継承したい場合、「class 継承先のクラス名 < 継承元のクラス名」定義する
・オーバーライドは、既存の処理の上書きのこと
- 親が定義しているメソッドを上書きすること
- 継承先メソッドで、「super」を付けることで親メソッドを読み込むことができる。その後に処理を追加できる
例外処理
・例外処理は、意図しない動作に対するメッセージを表現する
・システムを利用する上でおそらく発生するであろう異常に対して加える処理
・StandardErrorが利用されている
・Exception→StandardError→RuntimeErrorのような関係性がありExceptionが全てのエラーの親
ビルド
・ビルドは、作ったプログラムを実行できる状態にすることを指す
2.課題
クラスを使って課題に取り組みました。クラス名やメソッド名、変数の命名するのに苦労する...。
・変数greetingを定義して、そこに値(HellWorld)を代入してから表示する
・任意の配列に自由に値を詰め込んで、その内容を表示する。文字列と整数を入れる
※for文は基本使用せず、eachメソッドを使用する形が推奨とのこと。
以下のように修正しました。
・ハッシュにはキーと値が格納できる。2つ以上を格納してみて、キーを元に値が自由に呼び出せるかをやってみる
if文を利用して、引数が0なら偽。引数が1なら真。と表示する
・1〜10まで足した結果を表示する。処理の中にeachを含めたもの
この記事が気に入ったらサポートをしてみませんか?