Python es un lenguaje de programación orientado a objetos, todo en Python está relacionado con objetos, métodos y propiedades. Una clase es un plano definido por el usuario o un prototipo, que podemos usar para crear los objetos de una clase. La clase se define utilizando la palabra clave class.
ejemplo de clase
Python3
# create a Geeksforgeeks class class Geeksforgeeks : gfg = 10
En primer lugar, debemos comprender el método integrado __init__() para comprender el significado de las clases. Cada vez que se inicia la clase, siempre se ejecuta un método llamado __init__(). Se usa un método __init__() para asignar los valores a las propiedades del objeto o para realizar el otro método que se requiere para completar cuando se crea el objeto.
Ejemplo: clase con método __init__()
Python3
# create a Geeksforgeeks class class Geeksforgeeks: # constructor method def __init__(self): # object attributes self.course = "Campus preparation" self.duration = "2 months" # define a show method # for printing the content def show(self): print("Course:", self.course) print("Duration:", self.duration) # create Geeksforgeeks # class object outer = Geeksforgeeks() # method calling outer.show()
Producción:
Course : Campus Preparation Duration : As per your schedule
Clase interna en Python
Una clase definida en otra clase se conoce como clase interna o clase anidada. Si un objeto se crea utilizando una clase secundaria significa una clase interna, entonces el objeto también puede ser utilizado por la clase principal o la clase raíz. Una clase principal puede tener una o más clases internas, pero generalmente se evitan las clases internas.
Podemos hacer que nuestro código esté aún más orientado a objetos usando una clase interna. Un solo objeto de la clase puede contener múltiples subobjetos. Podemos usar múltiples subobjetos para darle una buena estructura a nuestro programa.
Ejemplo:
- Primero, creamos una clase y luego el constructor de la clase.
- Después de crear una clase, crearemos otra clase dentro de esa clase, la clase dentro de otra clase se llamará clase interna.
Python3
# create a Color class class Color: # constructor method def __init__(self): # object attributes self.name = 'Green' self.lg = self.Lightgreen() def show(self): print("Name:", self.name) # create Lightgreen class class Lightgreen: def __init__(self): self.name = 'Light Green' self.code = '024avc' def display(self): print("Name:", self.name) print("Code:", self.code) # create Color class object outer = Color() # method calling outer.show() # create a Lightgreen # inner class object g = outer.lg # inner class method calling g.display()
Producción:
Green Name:Green Light Green 023gfd Name: Light Green Code: 023gfd
¿Por qué clase interna?
Para la agrupación de dos o más clases. Supongamos que tenemos dos clases remoto y batería. Cada control remoto necesita una batería, pero no se utilizará una batería sin control remoto. Entonces, hacemos de la batería una clase interna para el control remoto. Nos ayuda a ahorrar código. Con la ayuda de la clase interna o la clase anidada, podemos ocultar la clase interna del mundo exterior. Por lo tanto, Ocultar el código es otra buena característica de la clase interna. Al usar la clase interna, podemos comprender fácilmente las clases porque las clases están estrechamente relacionadas. No necesitamos buscar clases en todo el código, están todas casi juntas. Aunque las clases internas o anidadas no se usan ampliamente en Python, será una mejor característica para implementar el código porque es fácil de organizar cuando usamos una clase interna o una clase anidada.
Sintaxis:
# create NameOfOuterClass class class NameOfOuterClass: # Constructor method of outer class def __init__(self): self.NameOfVariable = Value # create Inner class object self.NameOfInnerClassObject = self.NameOfInnerClass() # create a NameOfInnerClass class class NameOfInnerClass: # Constructor method of inner class def __init__(self): self.NameOfVariable = Value # create object of outer class outer = NameOfOuterClass()
Los tipos de clases internas son los siguientes:
- Clase interna múltiple
- Clase interna multinivel
Clase interna múltiple
La clase contiene una o más clases internas conocidas como múltiples clases internas. Podemos tener múltiples clases internas en una clase, es fácil implementar múltiples clases internas.
Ejemplo: clase interna múltiple
Python3
# create outer class class Doctors: def __init__(self): self.name = 'Doctor' self.den = self.Dentist() self.car = self.Cardiologist() def show(self): print('In outer class') print('Name:', self.name) # create a 1st Inner class class Dentist: def __init__(self): self.name = 'Dr. Savita' self.degree = 'BDS' def display(self): print("Name:", self.name) print("Degree:", self.degree) # create a 2nd Inner class class Cardiologist: def __init__(self): self.name = 'Dr. Amit' self.degree = 'DM' def display(self): print("Name:", self.name) print("Degree:", self.degree) # create a object # of outer class outer = Doctors() outer.show() # create a object # of 1st inner class d1 = outer.den # create a object # of 2nd inner class d2 = outer.car print() d1.display() print() d2.display()
Producción:
In outer class Name: Doctor In inner class 1 Name: Dr. Savita Degree: BDS In inner class 2 Name: Dr. Amit Degree: DM
Clase interna multinivel
La clase contiene una clase interna y esa clase interna nuevamente contiene otra clase interna, esta jerarquía se conoce como la clase interna multinivel.
Ejemplo: clase interna multinivel
Python3
# create a outer class class Geeksforgeeks: def __init__(gfg): # create a inner class object self.inner = self.Inner() def show(gfg): print('This is an outer class') # create a 1st inner class class Inner: def __init__(self): # create a inner class of inner class object self.innerclassofinner = self.Innerclassofinner() def show(self): print('This is the inner class') # create a inner class of inner class Innerclassofinner: def show(self): print() def show(self): print('This is an inner class of inner class') # create a outer class object # i.e.Geeksforgeeks class object outer = Geeksforgeeks() outer.show() print() # create a inner class object gfg1 = outer.inner gfg1.show() print() # create a inner class of inner class object gfg2 = outer.inner.innerclassofinner gfg2.show()
Producción:
Esta es una clase externa Esta es una clase interna Esta es una clase interna de clase interna significa clase interna multinivel
Publicación traducida automáticamente
Artículo escrito por snigdha_yambadwar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA