Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env pytho
- """
- Herencia
- 9-7. Admin: Un administrador es un tipo especial de Usuario. Escribe una clase llamada
- Administrador que hereda de la clase de usuario que escribió en el ejercicio 9-3 (página 166)
- Agrege un atributo, privilegios, que almacena una lista de cadenas
- como "puede agregar publicación", "puede eliminar publicación", "puede prohibir al usuario", etc.
- Escriba un método llamado mostrar_privilegios () que enumera el conjunto de
- privilegios Crea una instancia de Admin y llame dicho método.
- """
- #Clase madre
- class Usuario():
- def __init__ (self,nombre,apellido,edad,profesion,login,pwd):
- self.nombre=nombre
- self.apellido=apellido
- self.edad=edad
- self.profesion=profesion
- self.login=login
- self.pwd=pwd
- self.intentos_login=0
- def describe_usuario(self):
- print ("\nNombre : " +self.nombre +
- " ,apellido : " +self.apellido +
- " ,prof : " +self.profesion +
- " ,edad : " +str (self.edad) )
- def saludo_usuario(self):
- print ("\nSaludos "+self.nombre+ ". !")
- def imprime_intentos_login(self):
- """Imprime el numero de veces que se ha intentado el login"""
- print ("\nIntentos login ="+str(self.intentos_login))
- def reset_intentos_login(self):
- """Resetea la variable intentos_login"""
- self.intentos_login =0
- def incrementa_intentos_login(self):
- """incrementa los intentos login"""
- self.intentos_login+=1
- def intento_login(self,login):
- """Se efectua un intento de login"""
- if (login!=self.login):
- self.incrementa_intentos_login()
- self.imprime_intentos_login()
- else:
- print ("\n OK LOGIN !")
- self.reset_intentos_login()
- self.imprime_intentos_login()
- #lista de privilegios de un usuario
- privilegios=["elimininar publicacion","prohibir usuario","copiar","borrar","renombrar"]
- class Administrador(Usuario):
- def __init__(self,nombre,apellido,edad,profesion,privilegios,login="root",pwd="root",):
- super().__init__(nombre,apellido,edad,profesion,login,pwd)
- self.privilegios=privilegios
- def mostrar_privilegios(self):
- count=0
- print ("\nLista privilegios de "+self.nombre)
- for privilegio in self.privilegios:
- print (str (count) +'='+privilegio)
- count+=1
- #instancio un Administrador que es un usuario con privilegios , para ello uso la clase Administrador que hereda de Usuario
- admin=Administrador("icaro","villanueva",50,"electronico",privilegios)
- admin.describe_usuario() #Utiliza el metodo heredado de Usuario
- admin.mostrar_privilegios() #Utiliza el self.nombre
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement