OOPs Python:Classe, Objeto, Herança e Construtor com Exemplo
OOPs em Python
OOPs em Python é uma abordagem de programação que se concentra no uso de objetos e classes da mesma forma que outras linguagens de programação gerais. Os objetos podem ser quaisquer entidades do mundo real. O Python permite que os desenvolvedores desenvolvam aplicativos usando a abordagem OOPs com foco principal na reutilização de código. É muito fácil criar classes e objetos em Python.
O que é uma classe?
Uma classe em Python é um agrupamento lógico de dados e funções. Dá a liberdade de criar estruturas de dados que contenham conteúdo arbitrário e, portanto, facilmente acessíveis.
Por exemplo, para qualquer funcionário do banco que deseja buscar os detalhes do cliente on-line, vá para classe do cliente , onde todos os seus atributos, como detalhes da transação, detalhes de retirada e depósito, dívida pendente, etc., seriam listados.
Neste tutorial, vamos aprender,
- Como definir classes Python
- Como funciona a herança
- Construtores Python
Como definir classes Python
Para definir a classe, você precisa considerar os seguintes pontos
Etapa 1) Em Python, as classes são definidas pela “Class” palavra-chave
class myClass():
Etapa 2) Dentro das classes, você pode definir funções ou métodos que fazem parte desta classe
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Aqui definimos method1 que imprime "Guru99".
- Outro método que definimos é method2 que imprime “Software Testing” + SomeString. SomeString é a variável fornecida pelo método de chamada
Etapa 3) Tudo em uma classe é recuado, assim como o código na função, loop, instrução if, etc. Qualquer coisa que não seja recuada não está na classe
OBSERVAÇÃO :Sobre o uso de “self” em Python
- O auto-argumento refere-se ao próprio objeto. Daí o uso da palavra self. Portanto, dentro desse método, self fará referência à instância específica desse objeto que está sendo operado.
- Self é o nome preferido por convenção pelos Pythons para indicar o primeiro parâmetro dos métodos de instância em Python. Faz parte da sintaxe do Python acessar membros de objetos
Etapa 4) Para fazer um objeto da classe
c = myClass()
Etapa 5) Para chamar um método em uma classe
c.method1() c.method2(" Testing is fun")
- Observe que, quando chamamos o método1 ou o método2, não precisamos fornecer a palavra-chave própria. Isso é tratado automaticamente para nós pelo tempo de execução do Python.
- O tempo de execução do Python passará o valor "self" quando você chamar um método de instância na instância, independentemente de você fornecê-lo deliberadamente ou não
- Você só precisa se preocupar com os argumentos não próprios
Etapa 6) Aqui está o código completo
# Example file for working with classes class myClass(): def method1(self): print("Guru99") def method2(self,someString): print("Software Testing:" + someString) def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main()
Como funciona a herança
A herança é um recurso usado na programação orientada a objetos; refere-se à definição de uma nova classe com menos ou nenhuma modificação em uma classe existente. A nova classe é chamada de classe derivada e de um que ele herda é chamado de base . Python suporta herança; ele também suporta múltiplas heranças . Uma classe pode herdar atributos e métodos de comportamento de outra classe chamada subclasse ou classe herdeira.
Sintaxe de herança do Python
class DerivedClass(BaseClass): body_of_derived_class
Etapa 1) Execute o seguinte código
# Example file for working with classes class myClass(): def method1(self): print("Guru99") class childClass(myClass): #def method1(self): #myClass.method1(self); #print ("childClass Method1") def method2(self): print("childClass method2") def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
Observe que em childClass, method1 não está definido, mas é derivado do pai myClass. A saída é “Guru99”.
Etapa 2) Remova o comentário das linhas 8 e 10. Execute o código
Agora, o método 1 é definido na childClass e a saída “childClass Method1” é mostrada corretamente.
Etapa 3) Descomente a linha nº 9. Execute o código
Você pode chamar um método da classe pai usando a sintaxe
ParentClassName.MethodName(self)
No nosso caso, chamamos myClass.method1(self) e Guru99 é impresso como esperado
Etapa 4 ) Descomente a linha #19. Execute o código.
O método 2 da classe filha é chamado e “childClass method2” é impresso conforme o esperado.
Construtores Python
Um construtor é uma função de classe que instancia um objeto para valores predefinidos.
Começa com um sublinhado duplo (_). É o método __init__()
No exemplo abaixo, estamos pegando o nome do usuário usando o construtor.
class User: name = "" def __init__(self, name): self.name = name def sayHello(self): print("Welcome to Guru99, " + self.name) User1 = User("Alex") User1.sayHello()
A saída será:
Bem-vindo ao Guru99, Alex
Exemplo do Python 2
Os códigos acima são exemplos do Python 3, se você deseja executar no Python 2, considere o seguinte código.
# How to define Python classes # Example file for working with classes class myClass(): def method1(self): print "Guru99" def method2(self,someString): print "Software Testing:" + someString def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main() #How Inheritance works # Example file for working with classes class myClass(): def method1(self): print "Guru99" class childClass(myClass): #def method1(self): #myClass.method1(self); #print "childClass Method1" def method2(self): print "childClass method2" def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
Resumo:
“Classe” é um agrupamento lógico de funções e dados. A classe Python fornece todos os recursos padrão da Programação Orientada a Objetos.
- Mecanismo de herança de classe
- Uma classe derivada que substitui qualquer método de sua classe base
- Um método pode chamar o método de uma classe base com o mesmo nome
- As classes Python são definidas pela palavra-chave “class” em si
- Dentro das classes, você pode definir funções ou métodos que fazem parte da classe
- Tudo em uma classe é recuado, assim como o código na função, loop, instrução if etc.
- O argumento self em Python se refere ao próprio objeto. Self é o nome preferido por convenção por Pythons para indicar o primeiro parâmetro de métodos de instância em Python
- O tempo de execução do Python passará o valor "self" automaticamente quando você chamar um método de instância na instância, independentemente de você fornecê-lo deliberadamente ou não
- Em Python, uma classe pode herdar atributos e métodos de comportamento de outra classe chamada subclasse ou classe herdeira.
python
- Classe e objeto C#
- Programação Orientada a Objetos Python
- Herança Python
- Construindo robôs com Raspberry Pi e Python
- Diferença entre estrutura e classe:explicada com exemplo de C++
- Função Python String strip () com EXEMPLO
- Contador Python em coleções com exemplo
- type() e isinstance() em Python com exemplos
- Python List index() com exemplo
- Java - Objeto e Classes