初心者は、クラスやオブジェクト指向のプログラミング技術を使うように早くから教えられます。 しかし、なぜかは教えてもらえません。
なぜかを教える代わりに、説明はいつも現実の一般的なオブジェクトについて説明し始めます。
簡単な答えは、
プログラマは複数のアイテムが必要なときにクラスを使用するのです。
画面上に 7 つの青いキャンディーが見えますか? ゲーム開発者が青いキャンディーを7回コーディングすることはないでしょう。 ブルーキャンディのクラスを1つ作って、それを7回掛けるのです。
クラスとは単なるキャンディ工場です。 あるいは自動車工場。 あるいは赤ん坊の工場。 あるいはコアラの工場。 一度定義すれば、コードで好きなだけ作成できます!
OOP = Using Classes in your programming
最初に、いくつかの公式定義について説明する必要があります。
コードでは、関連する変数とメソッド (関数) のグループを 1 つのユニットにまとめると、そのユニットをオブジェクトと呼びます。
クラスとは何ですか。 インスタンスメソッドとは何ですか。
インスタンスメソッドはオブジェクトの動作です。
クラスがオブジェクトの工場として機能し、新しいインスタンスを作成できることが分かっています。
ここで、この抽象的な概念をよりよく表示するために、例を使用します。 コアラにはすべて、名前、年齢、体重などがあります。 養子縁組のために 50 頭のコアラがあり、それぞれを 5 つの特性で説明すると想像してください。 OOPがなければ、50×5=250の変数と複雑な参照が必要になります。 OOPを使えば、1コアラクラス×50インスタンスという少ないコードで簡単に記述することができます。 シンプルにするために、同じコードを何度も繰り返さないようにします。
class Koala attr_accessor :name, :weight, :age @@all =
def initialize(name) @name = name @weight = weight @age = age Koala.all << self end
def self.all @@all end def donation
puts " Thank you for helping me! " endend
このようにすることで、好きなだけコアラを作ることができ(Koala.newメソッドを呼ぶだけ)、すべてのコアラに「助けてくれてありがとう」と言わせることができます(インスタンスコアラのdonationメソッドを呼ぶだけ)
。