0
0

More than 3 years have passed since last update.

クラスの定義

Posted at

クラスを使用して以下の表示結果を出力するコードを記述します。

表示結果

ワンワン
わたしは犬です
わたしの名前はポチで種類はトイプードルです

仕様

クラス変数
type
インスタンス変数
name ポチ
dog_type トイプードル

クラスメソッド

メソッド名 処理
say ワンワン

インスタンスメソッド

メソッド名 処理
say_type "私は{クラス変数type}です"
self_introduction わたしの名前は{インスタンス変数name}で種類は{インスタンス変数dog_type}です
雛形
  class Dog
    @@type = "犬"

    def initialize
      @name = "マロン"
      @dog_type = "トイプードル"
    end

    def self.say
      puts "ワンワン"
    end

    def say_type
      puts "わたしは#{@@type}です"
    end

    def self_introduction
      puts "わたしの名前は#{@name}で種類は#{@dog_type}です"
    end
  end

 dog = Dog.new
 Dog.say
 dog.say_type
 dog.self_introduction

1)クラスの定義はclass クラス名 〜 endでした。まずはクラス変数であるtypeを定義します。
2)クラス変数は変数名の始めに@@(アットマーク2つ)をつけます。
3)インスタンス変数です。インスタンス変数は変数名の始めに@(アットマーク1つ)をつけます。
4)インスタンスごとに定義する必要があるのでインスタンスメソッド内で定義します。
5)クラスメソッドsayの定義をします。クラスメソッドはメソッドの前に自身のメソッドであることを示すself.をつけます。
6)インスタンスメソッドであるsay_typeとself_introductionを定義します。インスタンスメソッドの中ではクラス変数とインスタンス変数の両方が使えます。インスタンスメソッドの書き方は通常のメソッドと同じです。
7)定義したメソッドをクラスの外から呼び出します。

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