Python Programación Orientada a Objetos (POO): Clase, Objeto, Herencia y Constructor
⚡ Resumen inteligente
Programación orientada a objetos en Python Este enfoque organiza el código en torno a clases y objetos, agrupando datos y comportamientos relacionados. Muestra cómo definir clases, crear objetos, aplicar la herencia e inicializar atributos con constructores.
OOP en Python
OOP en Python es un enfoque de programación que se centra en el uso de objetos y clases de la misma manera que otros lenguajes de programación generales. Los objetos pueden ser cualquier entidad del mundo real. Python permite a los desarrolladores desarrollar aplicaciones utilizando el enfoque OOP con especial atención en la reutilización del código. Es muy fácil crear clases y objetos en Python.
¿Qué es una clase?
Una clase en Python es un grupo lógicoping de datos y funciones. Ofrece la libertad de crear estructuras de datos que contienen contenido arbitrario y, por lo tanto, son fácilmente accesibles.
Por ejemplo, cualquier empleado bancario que quiera obtener los datos de un cliente en línea tendría que ir a clase de clientedonde se enumerarían todos sus atributos, como detalles de transacciones, detalles de retiros y depósitos, deuda pendiente, etc.
Como definir Python privadas
Para definir la clase es necesario tener en cuenta los siguientes puntos
Paso 1) In Python, las clases están definidas por el "Clase" keyword
class myClass():
Paso 2) Dentro de las clases, puedes definir funciones o métodos que forman parte de esta clase.
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Aquí hemos definido el método1 que imprime “Guru99 “.
- Otro método que hemos definido es el método 2 que imprime "Prueba de software" + SomeString. SomeString es la variable proporcionada por el método de llamada
Paso 3) Todo lo que hay en una clase tiene sangría, al igual que el código de la función, el bucle, la declaración if, etc. Todo lo que no tenga sangría no está en la clase.
NOTA: Acerca del uso de “yo” en Python
- El argumento `self` se refiere al objeto en sí. De ahí el uso de la palabra `self`. Por lo tanto, dentro de este método, `self` hará referencia a la instancia específica de este objeto sobre la que se está operando.
- Yo es el nombre preferido por convención por Pythons para indicar el primer parámetro de los métodos de instancia en Python. Es parte de la Python sintaxis para acceder a miembros de objetos
Paso 4) Para hacer un objeto de la clase.
c = myClass()
Paso 5) Para llamar a un método en una clase
c.method1()
c.method2(" Testing is fun")
- Observe que cuando llamamos al método1 o al método2, no tenemos que proporcionar la palabra clave self. Eso lo maneja automáticamente por nosotros. Python tiempo de ejecución.
- Python El tiempo de ejecución pasará el valor "propio" cuando llame a un método de instancia en la instancia, ya sea que lo proporcione deliberadamente o no.
- Sólo tienes que preocuparte por los argumentos ajenos a ti mismo.
Paso 6) Aquí está el código completo
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Cómo funciona la herencia
La herencia es una característica utilizada en la programación orientada a objetos; se refiere a definir una nueva clase con menos o ninguna modificación de una clase existente. La nueva clase se llama clase derivada y del que hereda se llama bases. Python apoya la herencia; también es compatible herencias multiples. Una clase puede heredar atributos y métodos de comportamiento de otra clase llamada subclase o clase heredera.
Python Sintaxis de herencia
class DerivedClass(BaseClass):
body_of_derived_class
Paso 1) Ejecute el siguiente código
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Observe que en childClass, method1 no está definido, pero se deriva de la clase padre myClass. La salida es “Guru99 “.
Paso 2) Descomente las líneas 8 y 10. Ejecute el código
Ahora, el método 1 está definido en childClass y el resultado "childClass Method1" se muestra correctamente.
Paso 3) Descomente la línea n.º 9. Ejecute el código
Puedes llamar a un método de la clase padre usando la sintaxis
ParentClassName.MethodName(self)
En nuestro caso, llamamos a myClass.method1(self) y GuruEl número 99 se imprime como se esperaba.
Paso 4) Descomentar la línea #19. Ejecute el código.
Se llama al método 2 de la clase secundaria y se imprime el “método childClass2” como se esperaba.
Python Constructores
Un constructor es una función de clase que crea una instancia de un objeto con valores predefinidos.
Comienza con un doble guion bajo (_). Es el método __init__().
En el siguiente ejemplo, tomamos el nombre del usuario utilizando el constructor.
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
La salida será:
Bienvenidos a Guru99, Alex
Python 2 Ejemplo
Los códigos anteriores son Python 3 ejemplos, si quieres correr Python 2 Por favor considere el siguiente código.
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Conozca nuestro próximo tutorial sobre Polimorfismo en Python



