Una clase es un proyecto o prototipo definido por el usuario a partir del cual se crean objetos. Las clases proporcionan un medio para agrupar datos y funcionalidad. La creación de una nueva clase crea un nuevo tipo de objeto, lo que permite crear nuevas instancias de ese tipo.
Ejemplo:
# Python program to demonstrate # classes class cls: # Constructor def __init__(self, fname, mname, lname): self.firstname = fname self.middlename = mname self.lastname = lname # class Function def print(self): print(self.firstname, self.middlename, self.lastname) # Use the Parent class to create an object # and then execute the print method: x = cls("Geeks", "for", "Geeks") x.print()
Producción:
Geeks for Geeks
Llamar al método de la clase principal
Para comprender el concepto de clase principal, debe conocer la herencia en Python . En términos más simples, la herencia es el concepto por el cual una clase (comúnmente conocida como clase secundaria o subclase) hereda las propiedades de otra clase (comúnmente conocida como clase principal o superclase).
Pero, ¿alguna vez se ha preguntado acerca de llamar a las funciones definidas dentro de la clase principal con la ayuda de la clase secundaria? Bueno, esto se puede hacer usando Python. Solo tiene que crear un objeto de la clase secundaria y llamar a la función de la clase principal usando el dot(.)
operador.
Ejemplo:
# Python code to demonstrate # parent call method class Parent: # create a parent class method def show(self): print("Inside Parent class") # create a child class class Child(Parent): # Create a child class method def display(self): print("Inside Child class") # Driver's code obj = Child() obj.display() # Calling Parent class obj.show()
Producción
Inside Child class Inside Parent class
Llamar al método de la clase principal después de anular el método
La anulación de métodos es una capacidad de cualquier lenguaje de programación orientado a objetos que permite que una subclase o clase secundaria proporcione una implementación específica de un método que ya proporciona una de sus superclases o clases principales.
Los métodos de la clase principal también se pueden llamar dentro de los métodos anulados. Esto generalmente se puede lograr de dos maneras.
- Uso de Classname: los métodos de clase de los padres se pueden llamar usando el padre
classname.method
dentro del método anulado.Ejemplo:
# Python program to demonstrate
# calling the parent's class method
# inside the overridden method
class
Parent():
def
show(
self
):
print
(
"Inside Parent"
)
class
Child(Parent):
def
show(
self
):
# Calling the parent's class
# method
Parent.show(
self
)
print
(
"Inside Child"
)
# Driver's code
obj
=
Child()
obj.show()
Producción:
Inside Parent Inside Child
- Usando Super(): la función de Python
super()
nos brinda la posibilidad de referirnos a la clase principal explícitamente. Es básicamente útil cuando tenemos que llamar funciones de superclase. Devuelve el objeto proxy que nos permite referirnos a la clase principal por ‘super’.Ejemplo 1:
# Python program to demonstrate
# calling the parent's class method
# inside the overridden method using
# super()
class
Parent():
def
show(
self
):
print
(
"Inside Parent"
)
class
Child(Parent):
def
show(
self
):
# Calling the parent's class
# method
super
().show()
print
(
"Inside Child"
)
# Driver's code
obj
=
Child()
obj.show()
Producción:
Inside Parent Inside Child
Ejemplo 2:
# Program to define the use of super()
# function in multiple inheritance
class
GFG1:
def
__init__(
self
):
print
(
'HEY !!!!!! GfG I am initialised(Class GEG1)'
)
def
sub_GFG(
self
, b):
print
(
'Printing from class GFG1:'
, b)
# class GFG2 inherits the GFG1
class
GFG2(GFG1):
def
__init__(
self
):
print
(
'HEY !!!!!! GfG I am initialised(Class GEG2)'
)
super
().__init__()
def
sub_GFG(
self
, b):
print
(
'Printing from class GFG2:'
, b)
super
().sub_GFG(b
+
1
)
# class GFG3 inherits the GFG1 ang GFG2 both
class
GFG3(GFG2):
def
__init__(
self
):
print
(
'HEY !!!!!! GfG I am initialised(Class GEG3)'
)
super
().__init__()
def
sub_GFG(
self
, b):
print
(
'Printing from class GFG3:'
, b)
super
().sub_GFG(b
+
1
)
# main function
if
__name__
=
=
'__main__'
:
# created the object gfg
gfg
=
GFG3()
# calling the function sub_GFG3() from class GHG3
# which inherits both GFG1 and GFG2 classes
gfg.sub_GFG(
10
)
Producción:
HEY !!!!!! GfG I am initialised(Class GEG3) HEY !!!!!! GfG I am initialised(Class GEG2) HEY !!!!!! GfG I am initialised(Class GEG1) Printing from class GFG3: 10 Printing from class GFG2: 11 Printing from class GFG1: 12
Publicación traducida automáticamente
Artículo escrito por priyanshid1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA