0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rubyのオブジェクト指向について

Last updated at Posted at 2021-10-09

Rubyはオブジェクトでできている

Rubyはものを作る時に、
『コンピューターに、こうやって作れ』と指示を出しながらサービスを作っていく言語です。

そのようなRubyはオブジェクトでできています。
オブジェクトとは何かを一言で表現すうるのは難しいのですが、
何かのクラスのインスタンスです。
Rubyにはそれぞれインスタンス、メソッド、クラスを持っています。
この3つをもとに説明して行きます。

クラスとインスタンス

オブジェクト指向を理解するにはクラスとインスタンスの理解は必須です。

クラスとは設計図のことです。
インスタンスは設計図をもとに作られた実体です。

●家を例にします。

家の設計図がクラス。その設計図をもとに作られた家がインスタンスです。
設計図があればいろいろな家を作れますよね。
赤い色の家も作れますし、黄色い家も作れます。

設計図があれば同じような家をたくさん作れます。
もっといい性能の家を作りたければ、設計図を修正すれば
1つ1つの家を建て替えたりする必要はなくなり、毎回毎回性能のいい家に住めます。

このような考えをコードでも実践できます。

オブジェクト指向の3大要素

1クラス(カプセル化)
メソッドを定義することにより何をやっているのかをわかるようにします。
つまり内部に何が入っているのかは意識せず、指示や命令を与えることができます。

2ポリモーフィズム
同じ種類のものでもそれぞれ異なるものとして動く仕組みのことです。
例えば人間で例えると
人間という生き物は共通しているけど、名前や性別、などみんなそれぞれ違いますよね。
こんな感じのイメージです。

3継承
設計図をもとに同じような性能を持ったものを作ることです。

例えば、
設計図が車だとすると、その車をもとに、
フェラーリやランボルギーニを作れます。
車に少し性能を加えたものを作ることができます。

最後に

説明が足りない部分もありましたが
一通りのことはまとめました。
大事な概念なのでいろいろ調べてみてください。

オブジェクト指向の使い方

オブジェクト指向の使い方は3段階に別れます。

1 ***設計 ***
2 作成
3 使用

それぞれ見ていきます。家を作るときに例えます。

1.設計
まず家を作るときに設計します。
そのイメージです。


class home  #クラス(設計図)
   def living  #仕様(メソッド)
          
  end #仕様(メソッド)

end  #クラス(設計図)

2.作成
設計図をもとに大工さん(newメソッド)が家(インスタンス)を作ります。

@home = Home.new

これがインスタンスの実態です。

3.使用
大工さんが作った家を使います。使う時は

1 .メソッド名

2 インスタンスが入った変数.メソッド名
@home.door

みたいなイメージです。

最後に

説明が足りない部分もありましたが、一通りのことはまとめました。
大事な概念なのでいろいろ調べてみてください。

参考資料

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?