Crie uma classe que indique uma sessão aberta no Netflix, isto é, um usuário logado na plataforma de streaming de vídeo. Imagine que se deseje saber quantos usuários estão online no momento e quais filmes estão assistindo.
Passo 1
Beleza, então a gente vai criar uma classe para representar uma sessão aberta no Netflix. O conteúdo aqui é programação orientada a objetos. Vamos precisar definir atributos para armazenar informações do usuário e do filme que estão assistindo, além de métodos para gerenciar esses dados.
Passo 2
Primeiro, vamos definir a classe
SessaoNetflix
. Nela, vamos ter atributos como o nome do usuário e o filme que ele está assistindo. Esses atributos vão ajudar a identificar cada sessão individualmente.Passo 3
Agora, vamos criar um método para iniciar uma sessão. Esse método vai receber o nome do usuário e o nome do filme como parâmetros e vai criar uma nova instância da sessão com esses dados.
Passo 4
Precisamos de uma forma de rastrear quantos usuários estão online no momento. Para isso, vamos usar uma lista que vai armazenar todas as sessões ativas. Cada vez que um usuário iniciar uma sessão, ele será adicionado a essa lista.
Passo 5
Por fim, vamos criar métodos para obter o número total de usuários online e para listar quais filmes estão sendo assistidos. Isso vai facilitar a visualização das informações que queremos saber.
Resposta
class SessaoNetflix:
# Lista para armazenar todas as sessões ativas
sessoes_ativas = []
def __init__(self, nome_usuario, filme_assistindo):
self.nome_usuario = nome_usuario
self.filme_assistindo = filme_assistindo
# Adiciona a nova sessão à lista de sessões ativas
SessaoNetflix.sessoes_ativas.append(self)
@classmethod
def numero_de_usuarios_online(cls):
return len(cls.sessoes_ativas)
@classmethod
def filmes_sendo_assistidos(cls):
return [sessao.filme_assistindo for sessao in cls.sessoes_ativas]
# Exemplo de uso:
# Iniciando sessões
sessao1 = SessaoNetflix("Alice", "Stranger Things")
sessao2 = SessaoNetflix("Bob", "The Witcher")
# Obtendo número de usuários online
print(SessaoNetflix.numero_de_usuarios_online()) # Saída: 2
# Listando filmes sendo assistidos
print(SessaoNetflix.filmes_sendo_assistidos()) # Saída: ['Stranger Things', 'The Witcher']
Exercícios relacionados
Discurse sobre os pilares da Orientação a Objetos: Abstração, Encapsulamento, Herança e Polimorfismo.
Qual problema pode ocorrer em um cenário de Herança múltipla? Como as linguagens de programação lidam com ele?
Para que servem os padrões de projeto de software, no cenário de Orientação a Objetos?
Diferencie Associação, Agregação e Composição de objetos.