SlideShare uma empresa Scribd logo
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ
              CURSO: Técnico em Informática
              DISCIPLINA: Programação Orientada a Objetos
              PROFESSOR: Regis Pires Magalhães

                                   LISTA DE EXERCÍCIOS 3

1. Escreva as seguintes classes:
a) Uma classe Pessoa atributos nome (tipo String) e sobrenome (tipo String). Cada um desses
atributos deve ter métodos para lê-los e alterá-los (getters e setters). A classe Pessoa ainda deve
ter um método chamado getNomeCompleto que não possui parâmetros de entrada e que retorna
a concatenação do atributo nome com o atributo sobrenome. Além disso, a classe deve possuir
um construtor sem parâmetros e um outro construtor que recebe como parâmetros o nome e o
sobrenome da pessoa e altera respectivamente os atributos nome e sobrenome.

b) Uma subclasse de Pessoa, chamada Funcionario. A classe Funcionario deve ter os atributos
matricula (tipo int) e salario (tipo double), com seus respectivos métodos para leitura e alteração
(getters e setters). O salário de um funcionário jamais poderá ser negativo. Todo funcionario
recebe seu salario em duas parcelas, sendo 60% na primeira parcela e 40% na segunda parcela.
Assim, escreva os métodos getSalarioPrimeiraParcela que retorna o valor da primeira parcela do
salário (60%) e getSalarioSegundaParcela que retorna o valor da segunda parcela do salário
(40%).

c) Uma subclasse de Funcionario, chamada Professor. Todo professor recebe seu salário em
uma única parcela. Assim, deve-se sobrescrever os métodos getSalarioPrimeiraParcela e
getSalarioSegundaParcela. O método getSalarioPrimeiraParcela da classe Professor deve
retornar o valor integral do salário do professor e o método getSalarioSegundaParcela do
professor deve retornar o valor zero.

d) Uma classe UsaPessoa que instancia os seguintes objetos:
pessoa1 (Pessoa)                pessoa2 (Funcionario)          pessoa3 (Professor)
nome: Mario                     nome: Lucas                    nome: Rafael
sobrenome: Lopes                sobrenome: Mendes              sobrenome: Lira
                                salario: 2000.00               salario: 500.00
Depois disso, execute as seguintes operações na seguinte ordem:
d) Exibir a saída do método getNomeCompleto para os 3 objetos.
e) Exibir a saída dos métodos getSalarioPrimeiraParcela e getSalarioSegundaParcela para os
objetos pessoa2 e pessoa3.


2. Implemente as seguintes classes:

a) Implemente uma classe Equipamento com o atributo ligado (tipo boolean) e com os métodos
liga e desliga. O método liga torna o atributo ligado true e o método desliga torna o atributo
ligado false.

b) Implemente uma classe EquipamentoSonoro que herda as características de Equipamento e
que possui os atributos volume (tipo short) que varia de 0 a 10 e stereo (tipo boolean). A classe
ainda deve possuir métodos para ler e alterar o volume (getter e setter), além dos métodos mono
e stereo. O método mono torna o atributo stereo falso e o método stereo torna o atributo stereo
verdadeiro. Ao ligar o EquipamentoSonoro através do método liga, seu volume é
automaticamente ajustado para 5.
3. Implemente:
a) Uma classe Transporte com atributos ligado (tipo boolean) e velocidade (tipo int) e
métodos liga() e desliga(). O método liga torna o atributo ligado true e o método desliga
torna o atributo ligado false, além de tornar a velocidade zero. Crie também métodos get/set
para modificar o atributo velocidade, sendo que a velocidade não pode ser negativa.

b) Uma subclasse de Transporte chamada Carro. Carro deve ter o atributo quilometragem (tipo
int) e os métodos necessários para lê-lo e alterá-lo (get/set). A quilometragem não pode ser
negativa, nem ultrapassar o valor 999999. A velocidade do Carro não pode ser negativa,
nem ultrapassar 200.


4. Implemente:

a) Uma classe Conta com atributo saldo e métodos depositar e sacar para diminuir e
aumentar o atributo saldo, respectivamente, a partir de um valor especificado. O atributo saldo
pode ser negativo.

b) Implemente uma subclasse de Conta chamada Poupanca. Poupanca deve ter o atributo
diaRendimento do tipo int que armazena o dia do mês em que ocorre o rendimento da poupança.
Além disso, ainda deve possui os métodos necessários para ler e alterar o atributo
diaRendimento. O atributo saldo da Poupanca não pode ser negativo.

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
Adriano Teixeira de Souza
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
Ludimila Monjardim Casagrande
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
Denis L Presciliano
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
Elaine Cecília Gatto
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
antonio sérgio nogueira
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel Brandão
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
Felipe J. R. Vieira
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
Adriano Teixeira de Souza
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Ludimila Monjardim Casagrande
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
César Augusto Pessôa
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Loiane Groner
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Rangel Javier
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
Arthur Emanuel
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
Elaine Cecília Gatto
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
Manoel Afonso
 

Mais procurados (20)

Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Polimorfismo em java
Polimorfismo em javaPolimorfismo em java
Polimorfismo em java
 

Semelhante a Java Lista Exercicios 03

Lista Exercicios 03
Lista Exercicios 03Lista Exercicios 03
Lista Exercicios 03
Regis Magalhães
 
Lista deexerciciono 02
Lista deexerciciono 02Lista deexerciciono 02
Lista deexerciciono 02
jucibs
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
ariovaldodias
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
ariovaldodias
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
Arthur Emanuel
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
Ialis Cavalcante
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
Cícero Quarto
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
feiosanelma
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
feiosanelma
 
Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1
Elaine Cecília Gatto
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
elliando dias
 
Aula 3 - 06/04/11
Aula 3 - 06/04/11Aula 3 - 06/04/11
Aula 3 - 06/04/11
jeffersoncostta
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
Patrick_turma10
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
Gleyciana Garrido
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
unifesptk
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
Alex Camargo
 
Java Lista Exercicios 02
Java Lista Exercicios 02Java Lista Exercicios 02
Java Lista Exercicios 02
Regis Magalhães
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
Artur Todeschini
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
jose-junior89
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
Pedro Neto
 

Semelhante a Java Lista Exercicios 03 (20)

Lista Exercicios 03
Lista Exercicios 03Lista Exercicios 03
Lista Exercicios 03
 
Lista deexerciciono 02
Lista deexerciciono 02Lista deexerciciono 02
Lista deexerciciono 02
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
 
Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1Tutorial java orientação a objetos parte 1
Tutorial java orientação a objetos parte 1
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Aula 3 - 06/04/11
Aula 3 - 06/04/11Aula 3 - 06/04/11
Aula 3 - 06/04/11
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Java Lista Exercicios 02
Java Lista Exercicios 02Java Lista Exercicios 02
Java Lista Exercicios 02
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
 

Mais de Regis Magalhães

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
Regis Magalhães
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
Regis Magalhães
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
Regis Magalhães
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
Regis Magalhães
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
Regis Magalhães
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
Regis Magalhães
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
Regis Magalhães
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
Regis Magalhães
 

Mais de Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 

Java Lista Exercicios 03

  • 1. CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PIAUÍ CURSO: Técnico em Informática DISCIPLINA: Programação Orientada a Objetos PROFESSOR: Regis Pires Magalhães LISTA DE EXERCÍCIOS 3 1. Escreva as seguintes classes: a) Uma classe Pessoa atributos nome (tipo String) e sobrenome (tipo String). Cada um desses atributos deve ter métodos para lê-los e alterá-los (getters e setters). A classe Pessoa ainda deve ter um método chamado getNomeCompleto que não possui parâmetros de entrada e que retorna a concatenação do atributo nome com o atributo sobrenome. Além disso, a classe deve possuir um construtor sem parâmetros e um outro construtor que recebe como parâmetros o nome e o sobrenome da pessoa e altera respectivamente os atributos nome e sobrenome. b) Uma subclasse de Pessoa, chamada Funcionario. A classe Funcionario deve ter os atributos matricula (tipo int) e salario (tipo double), com seus respectivos métodos para leitura e alteração (getters e setters). O salário de um funcionário jamais poderá ser negativo. Todo funcionario recebe seu salario em duas parcelas, sendo 60% na primeira parcela e 40% na segunda parcela. Assim, escreva os métodos getSalarioPrimeiraParcela que retorna o valor da primeira parcela do salário (60%) e getSalarioSegundaParcela que retorna o valor da segunda parcela do salário (40%). c) Uma subclasse de Funcionario, chamada Professor. Todo professor recebe seu salário em uma única parcela. Assim, deve-se sobrescrever os métodos getSalarioPrimeiraParcela e getSalarioSegundaParcela. O método getSalarioPrimeiraParcela da classe Professor deve retornar o valor integral do salário do professor e o método getSalarioSegundaParcela do professor deve retornar o valor zero. d) Uma classe UsaPessoa que instancia os seguintes objetos: pessoa1 (Pessoa) pessoa2 (Funcionario) pessoa3 (Professor) nome: Mario nome: Lucas nome: Rafael sobrenome: Lopes sobrenome: Mendes sobrenome: Lira salario: 2000.00 salario: 500.00 Depois disso, execute as seguintes operações na seguinte ordem: d) Exibir a saída do método getNomeCompleto para os 3 objetos. e) Exibir a saída dos métodos getSalarioPrimeiraParcela e getSalarioSegundaParcela para os objetos pessoa2 e pessoa3. 2. Implemente as seguintes classes: a) Implemente uma classe Equipamento com o atributo ligado (tipo boolean) e com os métodos liga e desliga. O método liga torna o atributo ligado true e o método desliga torna o atributo ligado false. b) Implemente uma classe EquipamentoSonoro que herda as características de Equipamento e que possui os atributos volume (tipo short) que varia de 0 a 10 e stereo (tipo boolean). A classe ainda deve possuir métodos para ler e alterar o volume (getter e setter), além dos métodos mono e stereo. O método mono torna o atributo stereo falso e o método stereo torna o atributo stereo verdadeiro. Ao ligar o EquipamentoSonoro através do método liga, seu volume é automaticamente ajustado para 5.
  • 2. 3. Implemente: a) Uma classe Transporte com atributos ligado (tipo boolean) e velocidade (tipo int) e métodos liga() e desliga(). O método liga torna o atributo ligado true e o método desliga torna o atributo ligado false, além de tornar a velocidade zero. Crie também métodos get/set para modificar o atributo velocidade, sendo que a velocidade não pode ser negativa. b) Uma subclasse de Transporte chamada Carro. Carro deve ter o atributo quilometragem (tipo int) e os métodos necessários para lê-lo e alterá-lo (get/set). A quilometragem não pode ser negativa, nem ultrapassar o valor 999999. A velocidade do Carro não pode ser negativa, nem ultrapassar 200. 4. Implemente: a) Uma classe Conta com atributo saldo e métodos depositar e sacar para diminuir e aumentar o atributo saldo, respectivamente, a partir de um valor especificado. O atributo saldo pode ser negativo. b) Implemente uma subclasse de Conta chamada Poupanca. Poupanca deve ter o atributo diaRendimento do tipo int que armazena o dia do mês em que ocorre o rendimento da poupança. Além disso, ainda deve possui os métodos necessários para ler e alterar o atributo diaRendimento. O atributo saldo da Poupanca não pode ser negativo.