Skip to content

Instantly share code, notes, and snippets.

@themonster2015
Last active September 29, 2016 14:02
Show Gist options
  • Save themonster2015/02c6da8b8f9fa5246b5d3f5b0f8030f0 to your computer and use it in GitHub Desktop.
Save themonster2015/02c6da8b8f9fa5246b5d3f5b0f8030f0 to your computer and use it in GitHub Desktop.
require_relative './pet'
class Cat < Pet
def speak
puts "Meow!"
end
end
kitty = Cat.new("beige", "Persian")
puts "Let's inspect our new cat:"
puts kitty.inspect
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 our cat hungry now?"
kitty.hungry?
puts "Our cat can make noise"
kitty.speak
require_relative "./pet"
class Dog < Pet
def speak
puts "Woof!"
end
end
puppy = Dog.new("black", "Staffordshire Terrier")
puppy.speak
puts puppy.breed
A brief explanation of the keyword self in instance methods - instance methods work with an instance of a class
A brief definition of class methods - Methods that work with the class,but doesn't work with instances of that class
A brief explanation of inheritance: relationship between a parent class and a child class where the child class inherits everything from the parent.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment