Last active
January 30, 2024 15:38
-
-
Save becauro/fe257e465a20a94a571bc1e67c0f811b to your computer and use it in GitHub Desktop.
Aguns básicos conceitos de POO embutidos em um código Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Animal: | |
cor = "" | |
grupo = "" | |
_favFood = "" | |
__age = 0 | |
def __init__ (self, cor, grupo='"sem grupo"'): | |
self.cor = cor | |
self.grupo = grupo | |
def comer(): | |
return "Estou comendo" | |
def dormir(): | |
return "Estou dormindo" | |
def acordar(): | |
return "Estou acordando" | |
def getCor(self): | |
return self.cor | |
#def setGrupo(self, grupo): | |
# self.grupo = grupo | |
def getGrupo(self): | |
return self.grupo | |
def setAge(self, Age): | |
self.__Age = Age | |
def getAge(self): | |
return self.__Age | |
def setFavoriteFood(self, favFood): | |
self._favFood = favFood | |
def getFavoriteFood(self): | |
return self._favFood | |
def comunicar(): | |
raise NotImplementedError("Esse medoto precisa ser implementado na subclasse") | |
class Ave(Animal): | |
def __init__ (self, cor, grupo, name): | |
super().__init__(cor, grupo) | |
self.name = name | |
def getName(self): | |
return self.name | |
def comunicar(self): | |
return '"Bii, bii !!!"' | |
class Dog(Animal): | |
def __init__ (self, cor, grupo, name): | |
Animal.__init__(self, cor, grupo) | |
self.name = name | |
def getName(self): | |
return self.name | |
def comunicar(self): | |
return '"Uau, uau !!!"' | |
# === INSTANCIAÇÕES === | |
if __name__ == "__main__": | |
animalX = Animal("Branco") | |
animalX.setFavoriteFood("Strogonoff com batata") | |
animalX.setAge(10) | |
aveY = Ave("amarelo","Ave", "Eliana") | |
aveY.setFavoriteFood("minhoca") | |
aveY.setAge(7) | |
dogX = Dog("preto", "Mamífero", "Serginho") | |
dogX.setFavoriteFood("ovo cozido") | |
print (aveY.comunicar() + " Meu nome eh " + aveY.name + " e sou um(a) " + aveY.grupo + " da cor " + aveY.cor + ". Minha comida favorita eh " + aveY._favFood + "\n") | |
print (dogX.comunicar() + " Meu nome eh " + dogX.getName() + " e sou um(a) " + dogX.getGrupo() + " da cor " + dogX.getCor() + ". Minha comida favorita eh " + dogX.getFavoriteFood() + "\n") | |
print("Sou um animal generico, sem nome, mas tenho " + str(animalX.getAge()) + " anos " + "e sou um " + animalX.getGrupo() + " da cor " + animalX.getCor() + ". Minha comida favorita eh " + animalX.getFavoriteFood()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment