学習内容
- class,object
クラス、オブジェクト
-
class
- クラスとは: 一種のデータ型、「オブジェクト設計図」や「オブジェクトの雛形」とも呼ばれることもある。
- クラスが同じならば保持している属性や使えるメソッドは(原則として)同じになる。
-
object
- クラスをもとにして作られたデータのかたまり
- 同じクラスから作られたオブジェクトは同じ属性、メソッドを持つが、属性に保持されるデータは異なる。
code
require 'colorize'
# method
def hello(name)
"Hello #{name}."
end
# inherited class
class Hello < String
def hello
"Hello #{self}."
end
end
# extend class
class String
def hello
"Hello #{self}."
end
end
# method call
name = ARGV[0]
puts "method call"
puts hello(name).green
# inherited class call
name = Hello.new(ARGV[0])
puts "inherited class call"
puts name.hello.green
# extend class call, override
puts "extend class call, override"
puts ARGV[0].hello.green
参考
- source ~/classes/muli_scale/grad_members_20f/members/keita_k7/memo/c10.org