Skip to content

Instantly share code, notes, and snippets.

@joel-extremo
Created September 15, 2018 16:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joel-extremo/be5d2c0fed81b6f6cbbb5edf0b755487 to your computer and use it in GitHub Desktop.
Save joel-extremo/be5d2c0fed81b6f6cbbb5edf0b755487 to your computer and use it in GitHub Desktop.
3.4: Object-Oriented Programming I
class Cat
attr_reader :color, :breed
attr_accessor :name
def initialize(color, breed)
@color = color
@breed = breed
@hungry = true
end
def feed(food)
puts "Mmmm, " + food + "!"
@hungry = false
end
def hungry?
if @hungry
puts "I'm hungry!"
else
puts "I'm full!"
end
@hungry
end
def speak
puts "Meow!"
end
end
kitty = Cat.new("yellow", "Persian")
breakChunk = '/******************/'
puts breakChunk
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 breakChunk
puts "Let's give our new cat a name"
kitty.name = "Betsy"
puts kitty.name
puts breakChunk
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 breakChunk
puts "Our cat can make noise"
kitty.speak
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment