Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Pet
- attr_reader :color, :breed, :name
- attr_accessor :name #accessor combines reader and writer
- def initialize(color, breed)
- @color = color
- @breed = breed
- @hungry = true
- end
- def feed(food)
- puts "Mmm, " + food + "!"
- @hungry = false
- end
- def hungry?
- if @hungry
- puts "I'm hungry!"
- else
- puts "I'm full!"
- end
- @hungry
- end
- end
- class Cat < Pet
- def speak
- puts "Meow!"
- end
- end
- class Dog < Pet
- def speak
- puts "Woof!"
- end
- end
- kitty = Cat.new("grey", "Persian")
- puts "Let's inspect our new cat:"
- puts kitty.inspect
- puts "What class does our new cat belong to?"
- puts kitty.class
- puts "Is our new cat an object?"
- puts kitty.is_a?(Object)
- puts "What color is our cat?"
- puts kitty.color
- puts "Let's give our new cat a name"
- kitty.name = "Gwenny"
- puts kitty.name
- puts "Is our cat hungry now?"
- kitty.hungry?
- puts "Let's feed our cat"
- kitty.feed("tuna")
- puts "Is our cat hungry now?"
- kitty.hungry?
- puts "Our cat can make noise"
- kitty.speak
- doggy = Dog.new("yellow", "Golden Retriever")
- puts "Let's inspect our new dog:"
- puts doggy.inspect
- puts "What class does our new dog belong to?"
- puts doggy.class
- puts "Is our new dog an object?"
- puts doggy.is_a?(Object)
- puts "What color is our dog?"
- puts doggy.color
- puts "Let's give our new dog a name"
- doggy.name = "Fenway"
- puts doggy.name
- puts "Is our dog hungry now?"
- doggy.hungry?
- puts "Let's feed our dog"
- doggy.feed("pizza")
- puts "Is our dog hungry now?"
- doggy.hungry?
- puts "Our dog can make noise"
- doggy.speak
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement