Esta web utiliza cookies, puedes ver nuestra política de cookies, aquí Si continuas navegando estás aceptándola

Clases y herencias en python


En este ejemplo tan básico podemos ver como una clase SysAdmin hereda de Employee de este modo no tendremos que volver a escribir el código de Employee, el objeto employee2 tendrá los métodos de Employee al haber heredado de esta clase, en rojo dejo remarcada la parte mas interesante del código.

#!/usr/bin/env python

class Employee(object):

    def __init__(self, name, dni):
        self.name = name
        self.dni = dni

    def getName(self):
        return self.name

    def getDni(self):
        return self.dni

class SysAdmin(Employee):

    def __init__(self, name, dni, can_see_matrix):

        Employee.__init__(self, name, dni )
        self.can_see_matrix = can_see_matrix

if __name__ == "__main__":
    employee = Employee('employee00', '123456')
    print "Employee created with following data:"
    print "-- Name: " + str(employee.getName())
    print "-- Dni: " + str(employee.getDni())

    employee2 = SysAdmin('employee01', '54321', 'Sure')
    print "Employee created with following data:"
    print "-- Name: " + str(employee2.getName())
    print "-- Dni: " + str(employee2.getDni())
    print "-- Can See Matrix: " + str(employee2.can_see_matrix)

La clase SysAdmin tiene los métodos de Employee gracias a la instrucción:

Employee.__init__(self, name, dni )

Y el parámetro extra can_see_matrix gracias a:

self.can_see_matrix = can_see_matrix

Autor: Kr0m -- 02/12/2014 23:12:11