参考サイト
クラスとは
オブジェクト(プログラム内で使う変数であるデータ、振る舞いであるメソッドを束ね、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