#parent class that is used to set food and family variables for child classes
class Animal:
def __init__(self,family,food):
self.family = family
self.food = food
def getFamily(self):
return self.family
def setFamily(self,newFamily):
self.family = newFamily
def getFood(self):
return self.food
def setFood(self,newFood):
self.food = newFood
#child class that inherits from Animal class
class Cow():
def __init__(self,owner, family,food):
self.owner = owner
#use the Animal init function to set the family and food properties
Animal.__init__(self,family,food)
def setOwner(self,newOwner):
self.owner = newOwner
def getOwner(self):
return self.owner
class Lion(Animal):
def __init__(self,family,food):
Animal.__init__(self,family,food)
mooingCow = Cow("Bob", "mammal","grass")
print(Cow.__name__+"'s owner: " + mooingCow.getOwner() + ", family: " + mooingCow.getFamily())
hungryLion = Lion("mammal","humans")
I3BhcmVudCBjbGFzcyB0aGF0IGlzIHVzZWQgdG8gc2V0IGZvb2QgYW5kIGZhbWlseSB2YXJpYWJsZXMgZm9yIGNoaWxkIGNsYXNzZXMKY2xhc3MgQW5pbWFsOgogICAgZGVmIF9faW5pdF9fKHNlbGYsZmFtaWx5LGZvb2QpOgogICAgICAgIHNlbGYuZmFtaWx5ID0gZmFtaWx5CiAgICAgICAgc2VsZi5mb29kID0gZm9vZAogICAgCiAgICBkZWYgZ2V0RmFtaWx5KHNlbGYpOgogICAgICAgIHJldHVybiBzZWxmLmZhbWlseQogICAgZGVmIHNldEZhbWlseShzZWxmLG5ld0ZhbWlseSk6CiAgICAgICAgc2VsZi5mYW1pbHkgPSBuZXdGYW1pbHkKICAgIGRlZiBnZXRGb29kKHNlbGYpOgogICAgICAgIHJldHVybiBzZWxmLmZvb2QKICAgIGRlZiBzZXRGb29kKHNlbGYsbmV3Rm9vZCk6CiAgICAgICAgc2VsZi5mb29kID0gbmV3Rm9vZAoKI2NoaWxkIGNsYXNzIHRoYXQgaW5oZXJpdHMgZnJvbSBBbmltYWwgY2xhc3MKY2xhc3MgQ293KCk6CiAgICBkZWYgX19pbml0X18oc2VsZixvd25lciwgZmFtaWx5LGZvb2QpOgogICAgICAgIHNlbGYub3duZXIgPSBvd25lcgogICAgICAgICN1c2UgdGhlIEFuaW1hbCBpbml0IGZ1bmN0aW9uIHRvIHNldCB0aGUgZmFtaWx5IGFuZCBmb29kIHByb3BlcnRpZXMKICAgICAgICBBbmltYWwuX19pbml0X18oc2VsZixmYW1pbHksZm9vZCkKICAgIGRlZiBzZXRPd25lcihzZWxmLG5ld093bmVyKToKICAgICAgICBzZWxmLm93bmVyID0gbmV3T3duZXIKICAgIGRlZiBnZXRPd25lcihzZWxmKToKICAgICAgICByZXR1cm4gc2VsZi5vd25lcgoKY2xhc3MgTGlvbihBbmltYWwpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsZmFtaWx5LGZvb2QpOgogICAgICAgIEFuaW1hbC5fX2luaXRfXyhzZWxmLGZhbWlseSxmb29kKQogICAgCm1vb2luZ0NvdyA9IENvdygiQm9iIiwgIm1hbW1hbCIsImdyYXNzIikKcHJpbnQoQ293Ll9fbmFtZV9fKyIncyBvd25lcjogIiArIG1vb2luZ0Nvdy5nZXRPd25lcigpICsgIiwgZmFtaWx5OiAiICsgbW9vaW5nQ293LmdldEZhbWlseSgpKQpodW5ncnlMaW9uID0gTGlvbigibWFtbWFsIiwiaHVtYW5zIik=