-
Notifications
You must be signed in to change notification settings - Fork 0
/
obPerro.py
42 lines (33 loc) · 1.52 KB
/
obPerro.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Perro(): #Por convenio el nombre de la clase va siempre en mayúsculas.
def __init__(self, nombre, edad, peso): #Siempre empieza con esta función constructora.
self.nombre = nombre
self.edad = edad
self.peso = peso
# Nos va a permitir crear instancias.
def ladrar(self): # Siempre hay que poner como primer parámetro en la definición la clase entre ().
if self.peso >= 8:
print("GUAU, GUAU")
else:
print ("guau, guau")
# para llamar a esta función hay que nombrar primero a la instancia: salchicho.ladrar()
def __str__(self):
return "Perro {}, edad: {}, peso: {}".format(self.nombre, self.edad, self.peso)
class PerroAsistencia(Perro): #Así decimos que la clase PerroAsistencia hereda de la clase Perro
def __init__(self, nombre, edad, peso, amo):
Perro.__init__(self, nombre, edad, peso)
self.amo = amo
self.__trabajando = False
def __str__(self): #Sobreescribir un método
return "Perro de asistencia {}, edad: {}, peso: {}, amo: {}".format(self.nombre, self.edad, self.peso, self.amo)
def pasear(self):
print("Ayudo a mi dueño {} a pasear".format(self.amo))
def ladrar(self):
if self.__trabajando:
print("No puedo ladrar.")
else:
Perro.ladrar(self)
def trabajando(self, valor = None):
if valor == None:
return self.__trabajando
else:
self.__trabajando = valor