teste
Métodos de classe são métodos que são chamados sobre uma classe (comparar este com métodos de instância de classe ou métodos de objeto). Seu significado pode variar dependendo da linguagem de programação:1
Em algumas linguagens (por exemplo, C++, Java), métodos de classe são sinônimos de métodos estáticos (ver seção abaixo), que são chamados com um nome de classe conhecido em tempo de compilação. this não pode ser usado em métodos estáticos Em outras linguagens (por exemplo, Smalltalk, Ruby, Objective-C), métodos de classe são métodos que são chamados sobre um objeto de classe, que pode ser computado em tempo de execução, não existindo diferença entre chamar um método sobre um objeto regular ou um objeto de classe. Entretanto, ambos os métodos de instância e de classe são resolvidos dinamicamente e não há métodos "estáticos". Notavelmente, nesses métodos de classe, o this se refere ao objeto de classe Algumas linguagens possuem ambos. Por exemplo, em Python, pode-se criar métodos de classe e métodos estáticos usando os decoradores classmethod e staticmethod, respectivamente. O primeiro possui acesso ao this (isto é, o objeto de instância, convencionalmente conhecido como self), enquanto o segundo não
Métodos de conversão de operadores
Um operador de conversão fornece um meio para que o compilador implicitamente (realizado pelo compilador automaticamente quando for o caso) fornece um objeto de um tipo diferente do tipo do objeto de classe.
Métodos estáticos
Métodos estáticos não requerem uma instância da classe nem podem acessar implicitamente os dados (ou this, self, Me, etc.) de tal instância. Um método estático é distinguido em algumas linguagens de programação com a palavra-chave static colocada em algum lugar na assinatura do método.
Em linguagens de tipagem estática, como Java, métodos estáticos são chamados "estáticos" devido a eles serem resolvidos estaticamente (isto é, em tempo de compilação) baseado na