Skip to content

Instantly share code, notes, and snippets.

@darui00kara
Created May 17, 2015 08:36
Show Gist options
  • Save darui00kara/a5e4599fa5ebfbd9d9eb to your computer and use it in GitHub Desktop.
Save darui00kara/a5e4599fa5ebfbd9d9eb to your computer and use it in GitHub Desktop.
# encoding: utf-8
# File Name: main2.rb
# Create Day is 2015/05/17
# Last Update Day is 2015/05/17
# スーパークラス
class SuperClass
# 初期化関数
def initialize
puts "SuperClass initialize!!"
end
# 上書きするメソッド
def override_method
puts "SuperClass: override_method"
end
# 抽象メソッド
def abstract_method
raise "Called abstract method: abstract_method"
end
end
# サブクラス
class SubClass < SuperClass
# 初期化関数をオーバーライド
# スーパークラスの初期化関数を呼び出す
def initialize
super
puts "SubClass initialize!!"
end
# スーパークラスのメソッドをオーバーライド
def override_method
puts "SubClass: override_method"
end
# スーパークラスの抽象メソッドをオーバーライド
def abstract_method
puts "SubClass: abstract_method"
end
end
puts "main2"
puts
puts "SuperClass test"
super_class = SuperClass.new
super_class.override_method
puts
puts "SubClass test"
sub_class = SubClass.new
sub_class.override_method
sub_class.abstract_method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment