Classes e Objetos
Nesta aula, nos aprofundaremos na programação orientada a objetos (OOP), que é um paradigma de programação que utiliza objetos para criar programas.
Noções básicas de OOP Link to heading
- Classe: É um modelo que define as características e comportamento de um objeto.
- Objeto: É uma instância de uma classe que possui características e comportamento próprios.
- Atributo: É uma variável que define uma característica de um objeto.
- Método: É uma função que define o comportamento de um objeto.
Criando uma classe Link to heading
class Nomedaclasse:
"""Documentação de classe"""
# Atributos
# Métodos
Exemplo: Link to heading
class Pessoa:
"""Classe que define um objeto Person."""
# Atributos
nome = ""
idade = 0
# Métodos
def saudar(auto):
"""Método que imprime uma saudação personalizada."""
print(f"Olá, meu nome é {self.name} e tenho {self.age} anos.")
pessoa1 = Pessoa()
pessoa1.nome = "Ana"
pessoa1.idade = 25
pessoa2 = Pessoa()
pessoa2.nome = "João"
pessoa2.idade = 30
pessoa1.saudar()
pessoa2.saudar()
Saída: Link to heading
Olá, meu nome é Ana e tenho 25 anos.
Olá, meu nome é Juan e tenho 30 anos.
Neste exemplo:
- É definida uma classe chamada
Pessoa
que possui dois atributos (nome
eidade
) e um método (saudar
). - Dois objetos da classe
Pessoa
são criados (pessoa1
epessoa2
). - Os valores são atribuídos aos atributos dos objetos.
- O método
saudar
dos objetos é chamado.
Herança Link to heading
Herança é um mecanismo que permite que uma classe herde os atributos e métodos de outra classe.
Exemplo: Link to heading
class Aluno(Pessoa):
def __init__(self, nome, idade, raca):
super().__init__(nome, idade)
self.raca = raca
def estudo (self):
print(f"Estou estudando {self.raca}.")
aluno1 = Aluno("Ana", 25, "Engenharia")
aluno1.saudar()
aluno1.estudo()
Saída: Link to heading
Olá, meu nome é Ana e tenho 25 anos.
Estou estudando engenharia.
Neste exemplo:
- É definida uma classe
Aluno
que herda da classePessoa
. - A classe
Aluno
possui um novo atributo:raca
. - A classe
Aluno
possui um novo método:estudo
.
Exercício Link to heading
Define uma classe Carro com os atributos marca, modelo e placa.