Relatório sobre Classes em Python
Introdução
Python é uma linguagem de programação versátil e poderosa que suporta programação orientada a objetos (POO).
As classes são uma parte fundamental da POO em Python, permitindo que os desenvolvedores criem estruturas de
dados e comportamentos personalizados.
Definição de Classes
Uma classe em Python é uma estrutura que define um novo tipo de objeto. Ela serve como um modelo para criar
objetos, que são instâncias da classe. As classes em Python são definidas usando a palavra-chave class, seguida do
nome da classe.
Exemplo de definição de classe:
pythonCopy code
class Carro: def __init__(self, marca, modelo): self.marca = marca self.modelo = modelo
Neste exemplo, a classe Carro tem dois atributos: marca e modelo.
Atributos
Atributos são variáveis que estão associadas a uma classe e representam características ou propriedades dos objetos
criados a partir dessa classe. Eles podem ser acessados usando a notação de ponto.
Exemplo de uso de atributos:
pythonCopy code
meu_carro = Carro("Toyota", "Corolla") print(meu_carro.marca) # Saída: Toyota print(meu_carro.modelo) # Saída:
Corolla
Métodos
Métodos são funções definidas dentro de uma classe que representam o comportamento dos objetos da classe. Eles
são acessados usando a notação de ponto e geralmente aceitam o argumento self como seu primeiro parâmetro,
que se refere ao objeto atual.
Exemplo de definição de método:
pythonCopy code
class Carro: def __init__(self, marca, modelo): self.marca = marca self.modelo = modelo def dirigir(self):
print(f"Dirigindo um {self.marca} {self.modelo}")
Exemplo de uso de método:
pythonCopy code
meu_carro = Carro("Toyota", "Corolla") meu_carro.dirigir() # Saída: Dirigindo um Toyota Corolla
Herança
Herança é um conceito em POO que permite criar uma nova classe (subclasse) com base em uma classe existente
(superclasse). A subclasse herda atributos e métodos da superclasse e pode adicionar ou substituir comportamentos.
Exemplo de herança:
pythonCopy code
class CarroEletrico(Carro): def __init__(self, marca, modelo, capacidade_bateria): super().__init__(marca, modelo)
self.capacidade_bateria = capacidade_bateria
Neste exemplo, CarroEletrico é uma subclasse de Carro que adiciona um novo atributo capacidade_bateria.
Encapsulamento
O encapsulamento é um princípio de POO que se refere à restrição do acesso direto aos atributos de uma classe. Em
Python, não há modificadores de acesso como em algumas outras linguagens, mas é comum usar uma convenção de
nomes para indicar a visibilidade dos atributos.
Atributos com nomes iniciando com um único sublinhado, como _atributo, são considerados "protegidos" e
devem ser acessados apenas por subclasses ou classes relacionadas.
Atributos com nomes iniciando com dois sublinhados, como __atributo, são considerados "privados" e seu
acesso direto é desencorajado.
Conclusão
As classes em Python são fundamentais para a programação orientada a objetos e permitem criar estruturas de
dados personalizadas e encapsuladas. Com a herança e os métodos, é possível modelar objetos com
comportamentos específicos, tornando o código mais organizado e reutilizável. O encapsulamento ajuda a manter a
integridade dos objetos, controlando o acesso aos seus atributos.