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?

More than 3 years have passed since last update.

クラスとインスタンスを使ったコードの作成

Posted at

初めに

クラスとインスタンスを使ってコードを作成していきます。
まずは用語のおさらいです。

クラスとインスタンスについて

クラスとはオブジェクト指向の設計図みたいなものです。
クラスからインスタンスを作成してそインスタンスで処理を行います。
おおまかに言うと、クラスは設計図、インスタンスはその設計図から作られるものです。なぜクラスからインスタンスを生成するのかというと共通する部分を再利用することができるからです。
みじかな例として車がインスタンスでクラスが車を作る部品みたいな感じです。

クラスとインスタンスを使ってコード書こう

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}"

###最後に
初学者のため少しわかりにくい部分や間違いもあるかもしれません。何か間違いがあればご指摘お願いします。

0
0
0

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?