Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env pytho
- """
- Herencia
- 9-8. Privilegios: escribe una clase de privilegios separada.
- La clase debe tener un. atributo, privilegios, que almacena una lista de cadenas
- como la descrita en el Ejercicio 9-7. Mueva el método show_privileges () a esta clase.
- Haga una instancia de privilegios como un atributo en la clase Admin.
- Crea una nueva instancia de Admin y usa tu método para mostrar sus privilegios.
- """
- #Clase madre
- class Privilegios ():
- def __init__(self,usuario):
- print ("\nClase privilegios\n")
- #lista de privilegios de un usuario
- self.privilegios=["elimininar publicacion","prohibir usuario","copiar","borrar","renombrar"]
- self.nombre=usuario
- def mostrar_privilegiosB(self):
- count=0
- print ("\nLista privilegios de "+self.nombre+'\n')
- for privilegio in privilegios:
- print (str (count) +'='+privilegio)
- count+=1
- 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,login="root",pwd="root",):
- super().__init__(nombre,apellido,edad,profesion,login,pwd)
- #Utiliza una instancia de la clase privilegios
- print ("\nInstancia la clase privilegios\n")
- self.privilegios=Privilegios(nombre)
- def mostrar_privilegios(self):
- #Utiliza el metodo de la clase privilegios, pero utiliza el self.nombre .... !!!
- self.privilegios.mostrar_privilegiosB()
- #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")
- admin.describe_usuario() #Utiliza el metodo heredado de Usuario
- admin.mostrar_privilegios()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement