from thing import Thing

class Animal (Thing):
    """An animal, ie. a thing with multiple legs and possibly fur.

    Instance attributes:
      num_legs : int
        the number of legs this animal has
      furry : boolean
        whether this animal is furry or not

    Outsiders should use 'get_num_legs()' and 'is_furry()' to access
    these attributes.
    """

    def __init__ (self, name):
        Thing.__init__(self, name)
        self.num_legs = None
        self.furry = None

    def set_num_legs (self, n):
        self.num_legs = n

    def set_furry (self, furry):
        self.furry = furry

    def get_num_legs (self):
        return self.num_legs

    def is_furry (self):
        return self.furry


class Mammal (Animal):
    """A warm-blooded animal that is born as a baby (not an egg).

    Instance attributes: none
    """

    def __init__ (self, name):
        Animal.__init__(self, name)
        self.furry = 1                  # mammals usually are
