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.

Ruby 問題⑨ クラスとインスタンスの概念を用いたコードの作成

Posted at

#はじめに

6月になりました。
スクールを卒業してもまだまだ学習熱は冷めません!

本日もアウトプットしていきます。

クラスとインスタンスについてです。
プログラミング学習1ヶ月目の頃は理解するのに本当に時間がかかりました。

#問題

.rb
class Profile

  def initialize(name, position, nationality, club)
    @name = name
    @position = position
    @nationality = nationality
    @club = club
  end

end

#上記のコードに追加を行い、以下の出力結果をにしてください。クラスとインスタンスを使用すること。

# 名前: カンテ
# ポジション: DMF
# 国籍: フランス
# クラブ: チェルシー 

#解答

.rb
class Profile

  def initialize(name, position, nationality, club)
    @name = name
    @position = position
    @nationality = nationality
    @club = club
  end

  def name
    @name 
  end

  def position
    @position
  end

  def nationality
    @nationality
  end

  def club
    @club
  end

end

player = Profile.new("カンテ", "DMF", "フランス", "チェルシー")

puts "名前: #{player.name}"
puts "ポジション: #{player.position}"
puts "国籍: #{player.nationality}"
puts "クラブ: #{player.club}"

サッカー選手のプロフィールを知りたいという程でProfileクラスを作ります。

Profile.newでインスタンスを生成し、変数player(サッカー選手)に代入します。その際に、名前、DMF、フランス、チェルシーの3つ実引数を指定します。

initializeメソッドを定義し、インスタンス変数を宣言します。
実引数の値を、仮引数である、(position, nationality, club)に渡します。

name => 'カンテ'

position => 'DMF'

nationality => 'フランス'

club => 'チェルシー'

そして、それぞれのインスタンス変数の値を返すために専用のメソッドを定義し、最後4行で定義付けたメソッドを呼び出しています。

#自分で考えた解答

先ほどの解答は模範解答にありましたが、私なりに考えた解答が以下になります。

.rb
# プロフィールの設計図作成
class Profile

  #インスタンス作成時に実行される
  def initialize(name, position, nationality, club)
    @name = name
    @position = position
    @nationality = nationality
    @club = club
  end

  #作成したインスタンスのよって値が異なる
  def info
      puts "名前:#{@name}"
      puts "ポジション:#{@position}"
      puts "国籍:#{@nationality}"
      puts "クラブ:#{@club}"
  end

end

playler = Profile.new("カンテ", "DMF", "フランス", "チェルシー")

playler.info

#名前:カンテ
#ポジション:DMF
#国籍:フランス
#クラブ:チェルシー

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?