Conceitos Básicos de Python: Programação Orientada a Objetos (OOP)
Resumo de POO (Extra)
Lesson 7 of 7 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
🐍 Python OOP Cheat Sheet
Uma referência rápida para tudo que você aprendeu na quest Python Basics: Object-Oriented Programming.
1. Classes e Objetos
Definindo uma Classe
class Person:
def __init__(self, name, age):
self.name = name # Atributo público
self.age = age # Atributo público
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
Criando um Objeto
p1 = Person("John", 30)
p1.greet() # Hello, my name is John and I am 30 years old.
2. Atributos e Métodos
- Atributos = variáveis que pertencem a um objeto (
self.attribute) - Métodos = funções que pertencem a um objeto (
def method(self):)
Acessando:
print(p1.name) # Atributo
p1.greet() # Método
3. Herança
Herança Básica
class Animal:
def __init__(self, name):
self.name = name
def sound(self):
print("Some generic sound")
class Dog(Animal):
def sound(self):
print("Woof woof!")
dog = Dog("Rex")
dog.sound() # Woof woof!
4. super()
Chamando o Construtor da Classe Pai
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # Chama o __init__ de Animal
self.breed = breed
5. Sobrescrita de Método
Classes filhas podem substituir métodos da classe pai:
class Cat(Animal):
def sound(self):
print("Meow!")
6. Atributos e Métodos Privados
Marcar como Privado com __
class Person:
def __init__(self, name, age):
self.name = name
self.__age = age # Atributo privado
def __print_age(self): # Método privado
print(self.__age)
def show_info(self):
print(self.name)
self.__print_age()
Tentar acessar membros privados diretamente falhará:
p = Person("Alice", 25)
p.__age # ❌ AttributeError
p._Person__age # ✅ Funciona, mas não recomendado
7. Termos Chave de POO
| Termo | Significado |
|---|---|
| Class | Modelo para objetos. |
| Object | Instância de uma classe com seus próprios dados. |
| Attribute | Variável dentro de um objeto. |
| Method | Função dentro de uma classe. |
| Constructor | Método especial __init__ chamado ao criar um objeto. |
| Inheritance | Mecanismo para reutilizar código de outra classe. |
| Overriding | Redefinição de um método da classe pai. |
super() |
Chama métodos da classe pai. |
| Private | Prefixado com __ para indicar uso interno apenas. |
8. Melhores Práticas Rápidas
- Use PascalCase para nomes de classes:
MyClass - Use
selfpara referir-se ao objeto atual - Mantenha métodos focados em uma tarefa
- Use membros privados para detalhes internos
- Chame
super().__init__()se sobrescrever__init__em uma classe filha - Prefira composição ou herança com sabedoria — não herde apenas por herdar
📌 Lembrete: POO é pensar em substantivos (coisas) e seus comportamentos. Modele conceitos do mundo real, mantenha o código organizado e reutilize sempre que possível.