Sobes.tech
Junior — Middle

Podes enumerar e descrever os métodos mágicos utilizados na programação orientada a objetos?

sobes.tech IA

Resposta da IA

Os métodos mágicos são métodos especiais na programação orientada a objetos, que são chamados automaticamente em situações específicas. Em diferentes linguagens, eles podem ter nomes diferentes, mas exemplos comuns incluem:

  • Construtor: chamado ao criar um objeto, inicializando-o.
  • Destruidor: chamado ao destruir um objeto (por exemplo, em C++).
  • Método de conversão para string (por exemplo, __toString() em PHP, toString() em Java): retorna uma representação em string do objeto.
  • Operadores sobrecarregados (por exemplo, em Python __add__, __eq__): permitem definir o comportamento dos operadores para objetos.
  • Métodos de acesso às propriedades (por exemplo, __get, __set em PHP): chamados ao ler ou escrever propriedades.

Exemplo em Python:

class MyClass:
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return f"MyClass com valor {self.value}"

    def __add__(self, other):
        return MyClass(self.value + other.value)

Aqui, __init__ é o construtor, __str__ é a representação em string, __add__ é a sobrecarga do operador de soma.