Skip to content

Instantly share code, notes, and snippets.

@acaporrini
Created May 22, 2015 08:56
Show Gist options
  • Save acaporrini/ec8b4ff4cd7b04c0d5b0 to your computer and use it in GitHub Desktop.
Save acaporrini/ec8b4ff4cd7b04c0d5b0 to your computer and use it in GitHub Desktop.
CF 25
class Pet
attr_reader :color, :breed
attr_accessor :name
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 kitty.color
kitty.name = "Betsy"
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
toby = Dog.new("brown","Pug")
puts "Let\'s inspect our new dog:"
puts toby.inspect
puts "What class does our new dog belong to?"
puts toby.class
puts "Is our new dog an object?"
puts toby.is_a?(Object)
puts toby.color
toby.name = "Toby"
puts toby.name
puts "Is our dog hungry now?"
toby.hungry?
puts "Let\'s feed our dog"
toby.feed("tuna")
puts "Is our dog hungry now?"
toby.hungry?
puts "Our dog can make noise"
toby.speak
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment