Exemplo 1 – Função tradicional (sem POO)
import datetime
def calcular_idade(ano_nascimento):
ano_atual = datetime.datetime.now().year
return ano_atual - int(ano_nascimento)
pessoa_nome = "João"
pessoa_ano_nascimento = "2004"
print(calcular_idade(pessoa_ano_nascimento))
Exemplo 2 – Usando POO
import datetime
class Pessoa:
def __init__(self, nome, ano_nascimento):
self.nome = nome
self.ano_nascimento = int(ano_nascimento)
def calcular_idade(self):
ano_atual = datetime.datetime.now().year
return ano_atual - self.ano_nascimento
pessoa = Pessoa("João", "2004")
print(pessoa.calcular_idade())
Professor(a), tenho uma dúvida sobre a aplicação de programação orientada a objetos (POO) nos exercícios deste curso.
Eu já realizei a mesma atividade de duas maneiras diferentes: primeiro utilizando funções tradicionais, e depois reescrevendo o mesmo exercício em POO, transformando cada função em um método dentro de uma classe. Ao fazer isso, percebi que os métodos em POO funcionam de forma semelhante às funções, mas pertencem a um objeto específico, o que permite organizar melhor os dados e comportamentos relacionados a esse objeto.
Minha dúvida é: nos exercícios do curso, posso aplicar essa lógica e transformar funções em métodos dentro de classes, ou existe alguma diferença ou limitação importante que devo considerar ao fazer dessa forma?