Programação Orientada a Objetos* Exercícios Prof. Isabel Cafezeiro [email protected] http://www.dcc.ic.uff.br/~isabel *Baseado no livro Introdução à Programação Orientada a Objetos usando JAVA – Rafael Santos – Editora Campus – Série SBC Figuras geométricas Imagine as seguintes entidades: Círculos, Quadrados e Triângulos. Quais são os componentes de cada uma destas entidades? Qual é o comportamento de cada uma entidade? Figuras geométricas Círculos, Quadrados e Triângulos. Tomando como referência o modelo da lâmpada (aula 1); Escreva modelos para Círculos, Quadrados e Triângulos: Quais são os dados de cada modelo? Quais são as operações de cada modelo? Imagine que as figuras podem ser movidas, aumentadas, diminuídas, mostradas, comparadas, etc. Descreva em pseudo-código cada operação do modelo, lembrando-se de informar parâmetros e retorno de operações quando for o caso. Figuras geométricas Círculos, Quadrados e Triângulos Escreva classes em Java para implementar Círculos, Quadrados e Triângulos. Não é preciso desenhar as figuras, apenas manipular suas coordenadas. Compile cada classe. Escreva uma classe usuária destas figuras, que permita testar cada método das figuras. Compile e teste as classes. A documentação de java Círculos, Quadrados e Triângulos Problema surgido: Como se faz exponencial em Java? Como consultar a documentação de java? No diretório de instalação do java, Subdiretório Docs, Arquivo index.html . Ou em: http://java.sun.com/j2se/1.5.0/docs/index.html A documentação de java A documentação de java API Specifications Package java.lang Package java.lang.ref Package java.lang.reflect Package java.util Package java.util.prefs Package java.util.logging Package java.util.regex Package java.util.jar Package java.util.zip A documentação de java Package java.lang .... Class Summary BooleanThe Boolean class wraps a value of the primitive type boolean in an object. ByteThe Byte class wraps a value of primitive type byte in an object. .... MathThe class Math contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions. A documentação de java java.lang Class Math java.lang.Object java.lang.Math .... Method Summary static double abs(double a) Returns the absolute value of a double value. static float abs(float a) Returns the absolute value of a float value. .... static double exp(double a) Returns Euler's number e raised to the power of a double value. .... static doublepow(double a, double b) Returns the value of the first argument raised to the power of the second argument. Empréstimos em Biblioteca Imagine um sistema para modelar a utilização de uma biblioteca, no que diz respeito ao empréstimo e devolução de livros. Considere que as entidades envolvidas neste sistema são livros e usuários. Os usuários pegam os livros emprestados, desde que estejam disponíveis, e devem devolvê-los no prazo de 5 dias. Utilize o modelo Data para gerenciar as datas. Pode ser necessário acrescentar algum serviço ao modelo Data. Empréstimos em Biblioteca Quais são os componentes de cada entidade? Qual é o comportamento de cada entidade? Escreva modelos para cada entidade. Escreva classes para cada entidade, e compile. Escreva a classe Biblioteca, usuária das classes implementadas acima, compile e teste. Gere a documentação automática usando o javadoc.