1
resposta

Dúvida de comparação

Uma função Built-in no Python seria o mesmo que criar uma classe abstrata, ou um método abstrato?
Qual é a diferença entre classe abstrata e o método abstrato?
Seria que na classe abstrata todos os atributos e métodos são obrigatórios?
Vocês pode especificar melhor como criar uma classe abstrata e um método abstrato, porque no exemplo dado no  curso o professor só fez uma importação de uma classe.
Agradeço pela ajuda.
1 resposta

Respondi uma pergunta exatamente igual, bom vou colocar o mesmo exemplo:

basicamente um método comum da classe, depende da classe para funcionar, logo ele não pode ser estático.

Já um método estático, ele não depende exclusivamente da classe para funcionar, ex:

Class Metodos{
string name;

//um metodo comum
public function returnName(){
    return this.name
}

//um metodo estático
public static function returnQualquerCoisa(){
    return "Não dependo da classe"
}
}

//estanciando o objeto
metodo = new Metodos('joao')

//chamando um método comum 
print metodo.returnName;
resultado: joao

//chamando um método estático
metodo2 = Metodos::returnQualquerCoisa()
print(metodo2)
resultado: não dependo da classe

Consegue ver a diferença? o primeiro método depende exclusivamente de um atributo da classe pai, enquanto o método estático não depende, inclusive posso chamar ele sem sequer estanciar a classe.