La herencia en python es una de las premisas y técnicas de la POO la cual permite a los programadores crear una clase general primero y luego más tarde crear clases más especializadas que re-utilicen código de la clase general. La herencia también le permite escribir un código más limpio y legible. Asì que se pueden utilizar las variables y funciones en las clases hijas dependiendo el modificador de acceso que tengan estos.
La herencia es un mecanismo de la programación orientada a objetos que sirve para crear clases nuevas a partir de clases preexistentes con la finalidad de no volver a escribir código reduciendo las líneas de código en otras clases o archivos. Se toman (heredan) atributos y comportamientos de las clases viejas y se los modifica para modelar una nueva situación.
Se refiere a definir una nueva clase con poca o ninguna modificación a una clase existente. La nueva clase se denomina clase derivada(o secundaria) y la clase de la que se hereda se denomina clase base(o principal). Principalmente tendríamos 2 tipos de clases en Python la clase derivada y la clase base.
La herencia simple tiene lugar cuando una clase hija hereda los atributos y métodos de una única clase padre. Vamos a proceder a crear dos clases, una principal y una secundaria, en esta última vamos a agregar la función de presentarse accediendo a los atributos de la clase padre.
Para que sea posible la herencia de atributos y métodos de una clase, debe existir la superclase o clase principal de la cual la clase hija o secundaria va a heredar. Es decir, para que exista un hijo debe de existir un padre. Debemos de tomar en cuenta los modificadores de acceso ya que un modificador de acceso privado no puede heredar a la clase hija.
Si deseas aprender y dominar más este lenguaje de programación te podemos recomendar un excelente curso de python que muchas personas lo recomiendan en internet y redes sociales.
Los casos de herencia en python múltiple en python se dan cuando una clase secundaria o hija hereda atributos y metodos de
mas de una clase principal o padre. Basta con separar con una coma ambas principales a la hora de crear la clase secundaria:
No importa el numero de clases que queramos heredar simplemente se separan mediante la coma.
Al igual que C++, una clase puede derivarse de más de una clase base en Python. Esto se llama herencia
múltiple.
En la herencia múltiple, las características de todas las clases base se heredan en la clase derivada. La sintaxis para la herencia múltiple es
similar a la herencia simple.
Una de las principales ventajas de la herencia en python no solo en python si no en cualquier lenguaje de programación que este
programando es la re utilización de código permitiéndonos establecer una relación entre clases evitando que sea necesario volver a declarar
ciertos métodos o atributos; con el objetivo de no volver a escribir los mismos métidis en diferentes clases o archivos.
Las clases nos permiten construir objetos sobre una colección de atributos y métodos definidos de forma abstracta. Y la capacidad de herencia nos
permitirá crear clases secundarias más grandes y capaces heredando múltiples atributos y métodos de otras así como también mas especificas
controlando los mismos para una única clase particular.
issubclass(), es una función integrada en el lenguaje de programación python la cual le permite corroborar si un objeto es instancia de una clase. Dicha función esta programada y el resultado es un booleano es decir un true o un false.
A continuación listaremos los puntos más importantes desde nuestro punto de vista, tu podrás dar tu opinión al finalizar la lectura.
Los modificadores de acceso definen qué clases pueden acceder a un atributo o método. esto podría servir por ejemplo para ser usados para proteger la información o mejor dicho definir cómo nuestro programa quien accede a ella. Es decir, los modificadores de acceso afectan a las entidades y los atributos a los que puede acceder dentro de una jerarquía de herencia en python. En pocas palabras son los permisos que se le dan a los atributos para que otras clases puedan tener acceso o no a ellos mismos.
En pocas palabras, la función super() nos permite acceder a los métodos de la clase padre desde una de sus hijas. Es la palabra principal que se requiere para poder acceder a los metodos de la clase padre. Es una palabra reservada por python que no se puede utilizar o declarar como variable o función. En los modulos gráficos como pyqt y pytkinter se utilizan principalmente para heredar los objetos de las clases principales y poder generar interfaces gráficas poderosas y amigables con el usuario, la mayoría de las ocasiones si no se utiliza esta palabra reservada no puede heredar sus componentes graficos y regularmente marca error.
Entremos a un concepto más complicado y dificil de enterder siempre y cuando no se hubiera entendido lo anterior, esta función MRO es la forma de saber a que método se llama es consultar el MRO o Method Order Resolution. Esta función nos devuelve una tupla con el orden de búsqueda de los métodos. Como era de esperar se empieza en la propia clase y se va subiendo hasta la clase padre, de izquierda a derecha.
También hemos estado investigando y hemos notado otro interesante curso de python del cual también tienen muchas buenas criticas, recuerda que un curso presencial tiene mucho más peso en valor curricular, actualmente existen muchos cursos en linea, sin embargo y por lo menos en México no tienen valor curricular para las empresas, es por esa razón que nosotros nos hemos dado a la tarea de investigar los mejores cursos en México
Por el momento, puedes tomar nuestro curso de Excel. Si te interesa la programación, puedes tomar nuestro curso de java
Diseño Web Grupo Codesi