Programación Orientada a Objetos en Python
La Programación Orientada a Objetos (POO u OOP por sus
siglas en inglés), es un paradigma de programación.Cómo tal, nos enseña un
método el cual se basa en las interacciones de objetos para resolver las
necesidades de un sistema informático.se compone de 6 elementos y 7 características
¿Qué es un Objeto?
Los objetos son la clave para entender la Programación
Orientada a Objetos. Si miramos a nuestro alrededor encontraremos un sin fin de objetos de la
vida real: perro, escritorio, televisor, bicicleta, etc...
¿Qué es un Atributo?
Los atributos o propiedades de los objetos son las características
que puede tener un objeto: Si el objeto fuera Perro, los atributos podrían ser:
tamaño, edad, color, raza, etc...
¿Qué es un Método?
Los métodos son la acción o función que realiza un objeto.
Si nuestro objeto es Perro, los métodos pueden ser: caminar, ladrar, saltar,
dormir, etc...
¿Qué es una Clase?
Con todos los conceptos anteriores explicados, se puede
decir que una clase es una plantilla genérica de un objeto. La clase
proporciona variables iniciales de estado (donde se guardan los atributos) e
implementaciones de comportamiento (métodos)
¿Qué es una Instancia?
Ya sabemos que una clase es una estructura general del
objeto. Por ejemplo, podemos decir que la clase Mascota necesita tener un
nombre y una especie, pero no nos va a decir cual es el nombre y cual es la
especie, es aquí donde entran las instancias. Una instancia es una copia
específica de la clase con todo su contenido.
ejemplo#1
Ejémplo de ámbitos y espacios de nombre
def prueba_ambitos():
def hacer_local():
algo = "algo local"
def hacer_nonlocal():
nonlocal algo
algo = "algo no local"
def hacer_global():
global algo
algo = "algo global"
algo = "algo de prueba"
hacer_local()
print("Luego de la asignación local:", algo)
hacer_nonlocal()
print("Luego de la asignación no local:", algo)
hacer_global()
print("Luego de la asignación global:", algo)
prueba_ambitos()
print("In global scope:",
algo)
Ejemplo#2
class Perro: def __init__(self, nombre): self.nombre = nombre self.trucos = [] # crea una nueva lista vacía para cada perro def agregar_truco(self, truco): self.trucos.append(truco) >>> d = Perro('Fido') >>> e = Perro('Buddy') >>> d.agregar_truco('girar') >>> e.agregar_truco('hacerse el muerto') >>> d.trucos ['girar'] >>> e.trucos ['hacerse el muerto']
Ejemplo #3
class Coche: """Abstraccion de los objetos coche.""" def __init__(self, gasolina): self.gasolina = gasolina print "Tenemos", gasolina, "litros" def arrancar(self): if self.gasolina > 0: print "Arranca" else: print "No arranca..." def conducir(self): if self.gasolina > 0: self.gasolina -= 1 print "Quedan", self.gasolina, "litros" else: print "No se mueve..."
Ejemplo #4
class Instrumento: def __init__(self, precio): self.precio = precio def tocar(self): print "Estamos tocando musica" def romper(self): print "Eso lo pagas tu" print "Son", self.precio, "$$$" class Bateria(Instrumento): pass class Guitarra(Instrumento): pass
Ejemplo#5
class Fecha(object): def __init__(self): self.__dia = 1 def getDia(self): return self.__dia def setDia(self, dia): if dia > 0 and dia < 31: self.__dia = dia else: print "Error" dia = property(getDia, setDia) mi_fecha = Fecha() mi_fecha.dia = 33
Comentarios
Publicar un comentario