Python Programação Orientada a Objetos: Classe, Objeto, Herança e Construtor
⚡ Resumo Inteligente
Programação orientada a objetos em Python Organiza o código em torno de classes e objetos, agrupando dados e comportamentos relacionados. Essa abordagem mostra como definir classes, criar objetos, aplicar herança e inicializar atributos com construtores.

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. 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 aula?
Uma aula em Python é um grupo lógicoping de dados e funções. Isso proporciona a liberdade de criar estruturas de dados que contêm conteúdo arbitrário e, portanto, são facilmente acessíveis.
Por exemplo, para qualquer funcionário do banco que queira obter os dados do cliente on-line, vá para classe de cliente, onde todos os seus atributos, como detalhes de transações, detalhes de saques e depósitos, dívidas pendentes, etc., seriam listados.
Como definir Python aulas
Para definir a classe, você precisa considerar os seguintes pontos
Passo 1) In Python, as classes são definidas pelo "Aula" palavra chave
class myClass():
Passo 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 o método 1 que imprime “Guru99. "
- Outro método que definimos é o método2 que imprime “Teste de Software”+ SomeString. SomeString é a variável fornecida pelo método de chamada
Passo 3) Tudo em uma classe é indentado, assim como o código na função, loop, instrução if, etc. Qualquer coisa que não seja indentada não está na classe
NOTA: Sobre o uso de “self” em Python
- O argumento `self` refere-se ao próprio objeto. Daí o uso da palavra `self`. Portanto, dentro deste método, `self` se referirá à instância específica deste objeto sobre a qual a operação está sendo realizada.
- Self é o nome preferido por convenção por Pythons para indicar o primeiro parâmetro dos métodos de instância em Python. Faz parte do Python sintaxe para acessar membros de objetos
Passo 4) Para fazer um objeto da classe
c = myClass()
Passo 5) Para chamar um método em uma classe
c.method1()
c.method2(" Testing is fun")
- Observe que, ao chamarmos o método1 ou o método2, não precisamos fornecer a palavra-chave `self`. Isso é tratado automaticamente pelo próprio sistema. Python tempo de execução.
- Python o tempo de execução passará o valor “self” quando você chamar um método de instância na instância, independentemente de você o fornecer deliberadamente ou não
- Você apenas precisa se preocupar com os argumentos não-próprios
Passo 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
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 classe derivada e daquele que ele herda é chamado de base. Python suporta herança; também suporta heranças múltiplas. Uma classe pode herdar atributos e métodos de comportamento de outra classe chamada subclasse ou classe herdeira.
Python Sintaxe de herança
class DerivedClass(BaseClass):
body_of_derived_class
Passo 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 na classe filha, o método1 não está definido, mas é derivado da classe pai myClass. A saída é “Guru99. "
Passo 2) Remova o comentário das linhas 8 e 10. Execute o código
Agora, o método 1 está definido em childClass e a saída “childClass Method1” é mostrada corretamente.
Passo 3) Remova o comentário da 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 GuruO número 99 foi impresso conforme o esperado.
Etapa 4) Remova o comentário da linha nº 19. Execute o código.
O método 2 da classe filha é chamado e “childClass method2” é impresso conforme esperado.
Python Construtores
Um construtor é uma função de classe que instancia um objeto com 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 à Guru99, Alex
Python 2 Exemplo
Os códigos acima são Python 3 exemplos, se você quiser correr 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()
Aprenda nosso próximo tutorial sobre Polimorfismo em Python


