rubyオブジェクト学習例
2051 ワード
class Person
attr_writer:info ##
@@count = 0 ##
def initialize(name,age,gender) ##
@name=name
@age=age
@gender=gender
@info="#{name} #{age} #{gender}"
@@count+=1
end
def info_ref
@info
end
def info
puts @info
end
def Person.getCount ##
@@count
end
end
class Derive < Person ##
def info ##
puts "derive"
super
end
end
people = Derive.new('jone',22,'female')
puts people.info
people1 = Derive.new('jone',22,'female')
class << people1 ##
def info
puts "this is people1 method"
end
end
puts people1.info
puts Person.getCount
puts Person.object_id ## , , object_id,
puts people.object_id
Object.class
Object.superclass
class ReTest ##ruby , , undef_method
def meth
puts "this is a method"
end
end
retest = ReTest.new
retest.meth
class ReTest
def meth
puts "this is a another method"
end
end
retest = ReTest.new
retest.meth
class ReTest
undef_method(:meth)
end
obj = ReTest.new
obj.meth
出力:
D:\software\Ruby192\bin\ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) D:/project/rubyDemo/test1.rb D:/project/rubyDemo/test1.rb:65:in `