Skip to content

Instantly share code, notes, and snippets.

@Ahnita
Last active August 29, 2015 14:25
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 Ahnita/3ae79fe4649d856f257b to your computer and use it in GitHub Desktop.
Save Ahnita/3ae79fe4649d856f257b to your computer and use it in GitHub Desktop.
Object Oriented Programming I and II
class Cat
attr_reader :color, :breed
attr_accessor :name
def initialize(color, breed)
@color = color
@breed = breed
@hungry = true
end
def feed(food)
puts "Mmmmm, " + 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("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 = "Betsy"
puts kitty.name
puts "Is our cat hungry now?"
kitty.hungry?
puts "Let\'s feed our cat"
kitty.feed("tuna")
puts "Is out cat hungry now?"
kitty.hungry?
puts "Our cat can make noise"
kitty.speak
class Pet
attr_reader :color, :breed
attr_accessor :name
def initialize(color, breed)
@color = color
@breed = breed
@hungry = true
end
def feed(food)
puts "Mmmmm, " + 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! I'm Garfield"
end
end
class Dog < Pet
def speak
puts "Woof!"
end
end
puppy = Dog.new("black", "Staffordshire Terrier")
puppy.speak
puts puppy.breed
kitty = Cat.new("orange", "Persian")
kitty.speak
puts kitty.breed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment