Acceder al objeto dentro de otros objetos en Python

Requisito previo: conceptos básicos de programación orientada a objetos en Python

En este artículo, aprenderemos cómo acceder a métodos y atributos de objetos dentro de otros objetos en Python. Si tenemos dos clases diferentes y una de estas define otra clase al llamar al constructor. Entonces, el método y los atributos de otra clase pueden ser accedidos por objetos de primera clase (es decir, objetos dentro de objetos).

Aquí, en el siguiente ejemplo, aprendemos a acceder a objetos (sus métodos y atributos) dentro de un objeto. Definimos dos clases (primera clase y segunda clase) con definiciones adecuadas. 

  • La primera clase consta de un constructor y un método.
  • El constructor forma un objeto de la segunda clase en el atributo de la primera clase.
  • El método define la presencia en el método de primera clase.
  • De manera similar, la segunda clase consta de un constructor y un método.
  • El constructor forma un atributo.
  • El método define la presencia en el método de segunda clase.

Como el atributo de la primera clase funciona como un objeto de la segunda clase, se puede acceder a todos los métodos y atributos de la segunda clase usando esto:

object_of_first_class.attribute_of_first_class

A continuación se muestra la implementación:

Python3

# python program to understand the 
# accessing of objects within objects
  
# define class first
class first:
    
    # constructor
    def __init__(self):
        # class second object
        # is created
        self.fst = second()
          
    def first_method(self):
        print("Inside first method")
  
# define class second
class second:
    
    # constructor
    def __init__(self):
        self.snd = "GFG"
          
    def second_method(self):
        print("Inside second method")
  
# make object of first class
obj1 = first()
print(obj1)
  
# make object of second class
# with the help of first
obj2 = obj1.fst
print(obj2)
  
# access attributes and methods 
# of second class
print(obj2.snd)
  
obj2.second_method()
  
# This code is contributed
# by Deepanshu Rustagi.

Producción:

<__main__.first object at 0x7fde6c57b828>
<__main__.second object at 0x7fde6c57b898>
GFG  
Inside second method

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *