初めに
クラスとインスタンスを使ってコードを作成していきます。
まずは用語のおさらいです。
クラスとインスタンスについて
クラスとはオブジェクト指向の設計図みたいなものです。
クラスからインスタンスを作成してそインスタンスで処理を行います。
おおまかに言うと、クラスは設計図、インスタンスはその設計図から作られるものです。なぜクラスからインスタンスを生成するのかというと共通する部分を再利用することができるからです。
みじかな例として車がインスタンスでクラスが車を作る部品みたいな感じです。
クラスとインスタンスを使ってコード書こう
class Article
def initialize(author, title, content)
@author = author
@title = title
@content = content
end
end
以下の出力結果を得られるようにします。
著者: 鈴木
タイトル: Hello Ruby!
本文: こんにちは、Ruby
まず、コードの中にinitializeメソッドがあります。これは特殊なメソッドでクラス内に記述した場合、オブジェクトが作成される時に自動で呼び出されます。
ではそのinitializeメソッドにクラスの外からnewメソッドを使いインスタンスを生成し変数に代入します。
article = Article.new("鈴木", "Hello Ruby!", "こんにちは、Ruby")
この時の("鈴木", "Hello Ruby!", "こんにちは、Ruby")は実引数として、仮引数の(author, title, content)に受け渡します。
そして上記の値が@author,@title,@contentに代入されます。
そして最後にインスタンス変数に代入された値を出力する記述を書いたらコードの完成です。
class Article
def initialize(author, title, content)
@author = author
@title = title
@content = content
end
def author
@author
end
def title
@title
end
def content
@content
end
end
article = Article.new("阿部", "Rubyの素晴らしさについて", "Awesome Ruby!")
puts "著者: #{article.author}"
puts "タイトル: #{article.title}"
puts "本文: #{article.content}"
###最後に
初学者のため少しわかりにくい部分や間違いもあるかもしれません。何か間違いがあればご指摘お願いします。