こんにちは。Tomoyuki(@tomoyuki65)です。
オブジェクト指向のプログラミング言語といえばJavaですよね。
その他、Rubyもオブジェクト指向のプログラミング言語で、扱えるすべての値がオブジェクトという特徴があります。
「でもオブジェクトってなんだかよくわからない」
って方も多いのではないでしょうか?
でもオブジェクトは、図やたい焼きで表すとわかりやすいんです。
この記事では、そんなオブジェクトについて解説します。
『オブジェクト』を理解しよう!
オブジェクト(指向)とは?
まず『オブジェクト』を日本語で表すと『物体』です。
つまり、Rubyで扱える全てのデータ(数値、文字列、時刻など)は何らかの『物体』であると言えます。
また『オブジェクト指向』とは、ソフトウェア設計や開発における考え方の一つです。
オブジェクトが何らかの役割(メソッド)を持ち、命令を実行することが出来るという考え方です。
※オブジェクト指向には、クラス、インスタンス、継承などの概念があります。
つまり、数値や文字列などのオブジェクトはメソッドを実行できます。
例えば、以下のプログラムを実行してみて下さい。
# 数値「3.14」を四捨五入するメソッド「.round」
puts 3.14.round
# 文字列「"Hello World !"」の文字数を返すメソッド「.length」
puts "Hello World !".length
13
このように、オブジェクト指向プログラミングでは、オブジェクトは何らかのメソッド(役割)を持ち、それらを実行することで様々な処理をさせることができます。
また、オブジェクトには色々な種類があり、それらの種類をクラスと呼びます。
クラスとインスタンス
オブジェクトの種類を『クラス』といい、オブジェクトは何らかのクラスに属しています。
例として、数値であれば「Integer」や「Float」クラス、文字列であれば「String」クラスです。
では、以下のプログラムを実行してみて下さい。
各オブジェクトが属しているクラスを確認することができます。
# 数値「10」のクラスを確認
puts 10.class
# 数値「3.14」のクラスを確認
puts 3.14.class
# 文字列「Hello World !」のクラスを確認
puts "Hello World !".class
Float
String
クラスはよく設計図のようなものと例えられ、クラスはオブジェクトがどのようなものかを定義します。
また、それらクラスを具象化したものを『インスタンス』と呼びます。
つまり、全てのオブジェクトは何らかのクラスのインスタンスであるとも言えます。
図のように、クラスやインスタンスはよくたい焼きに例えられます。
オブジェクト指向で設計や開発をする理由
ここまでオブジェクトについて簡単に説明してきました。
ではなぜオブジェクト指向で設計や開発をする必要があるのでしょうか?
それは、プログラムの変更に対して柔軟に対応するためです。
プログラムは常にアップデートしていかなければ、時間の経過と共に腐敗していきます。
つまり、アプリケーションは開発して終わりではなく、保守していく必要があります。
プログラムには変更する可能性が低い部分と高い部分があり、低い部分をベースとして、高い部分をうまくクラスにすることで、変更に柔軟に対応できます。
たい焼きで表すと、タイ焼き器一つに対して、様々な具のたい焼きを作ることができます。
まとめ
- Rubyでは扱える全てのデータはオブジェクト
- オブジェクトは何らかのメソッドを持ち、様々な処理をすることができる
- オブジェクトの種類をクラス、クラスから具象化したものをインスタンスと呼ぶ
- どのようなオブジェクトかはクラスに定義する
- プログラムの変更に対して柔軟に対応するため、オブジェクト指向で設計開発する
- 関連記事
Tomoyuki
最新記事 by Tomoyuki (全て見る)
- 【スト6】モダンキャミィの初心者向けコンボまとめ【STREET FIGHTER 6(ストリートファイター6)】 - 2024年11月10日
- モンハンワイルズでおすすめのオプション設定まとめ【Monster Hunter Wilds】 - 2024年11月4日
- モンハンワイルズでおすすめのグラフィック設定まとめ【Monster Hunter Wilds】 - 2024年11月2日
コメントを残す