Partilhar: WhatsApp
aulify
UC UC00608 · T. Desenv. Software, T. Inform. Gestão

Ficha 01 · Classes e encapsulamento

Definir classes, atributos, métodos, properties
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Classes

Exercício 1 · Classe Livro (15 pts)

Cria uma classe Livro com atributos titulo, autor, ano, paginas. Adiciona método descrever() que devolve string formatada. Testa criando 2 livros e imprimindo.

Exercício 2 · Método repr (10 pts)

Adiciona __repr__ e __str__ à classe Livro. Qual a diferença entre os dois?

Parte II · Encapsulamento

Exercício 3 · Conta bancária (20 pts)

Cria classe ContaBancaria com: - Atributo "privado" _saldo. - Métodos depositar(valor), levantar(valor), saldo(). - Levantar deve falhar com excepção se saldo insuficiente ou valor negativo.

Exercício 4 · Properties (15 pts)

Adiciona à ContaBancaria uma property saldo (em vez do método) e validar que o titular tem mínimo 3 caracteres no construtor.

Parte III · Métodos especiais

Exercício 5 · Classe Vetor (20 pts)

Cria classe Vetor com x, y. Implementa: - __init__ - __repr__ - __add__ — soma de vectores. - __eq__ — comparação. - __abs__ — magnitude.

Parte IV · Cenário

Exercício 6 · Sistema de aluguer (20 pts)

Modela um sistema de aluguer de bicicletas com: