3
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.

授業11回目:クラス

Last updated at Posted at 2020-12-23

参考サイト

チャート式ruby-VI(hello class)

クラスとは

オブジェクト(プログラム内で使う変数であるデータ、振る舞いであるメソッドを束ね、1つのまとまりにしたもの)を生成する為のひな形にあたるもの

wikipedia:クラスwikipedia:オブジェクト指向プログラミング を参考に

1:クラス化

class Greeter
  def initialize
    @name = gets_name
    puts_hello
  end

  def puts_hello
    puts "Hello #{@name}."
  end

  def gets_name
    name = ARGV[0] || 'world'
    return name
  end
end

Greeter.new

class内の関数はmethod(メソッド:オブジェクトの振る舞い)になる

今回鍵となるのは以下の4つ

・Greeter.new:class外でmethodを呼び出す

・class Greeter:クラスの宣言

・initialize method:class内データの初期化を行う

@name:インスタンス変数 initialize method の初期化対象となる

2:クラス継承

# 継承される側のクラス
class Greeter < String
  def hello
    "Hello #{self}."
  end
end

# 継承する側のクラス
class String
  def hello
    "Hello #{self}."
  end
end

クラスは、別のクラスに持っているデータやメソッドを受け渡すことができる(継承)

上記サンプルプログラムでは、StringからGreeterを渡している

小ネタ:ダブルクォーテーション

Q:ダブルクォーテーションって?

A:" ←こいつ

emacsでは文字列の処理を行う際には"文字列"のようにダブルクォーテーションで囲む.

emacsでは色でどこが文字列なのかを判別する機能が備わっている.書き損じてダブルクォーテーションで囲えていなくても色を見ればミスに一発で気づけるという寸法.


  • source ~/grad_members_20f/members/batamon-427/task11.org
3
0
3

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
3
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?