Buscar

Aula 3 Programação Orientada Objeto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 3 páginas

Prévia do material em texto

Programação Orientada a Objetos. 
 
1 
Prof.Fábio Rener 
 
 
 
Implementando classes e Instanciando objetos. 
 
 
Classes 
 
Na aula anterior vimos que classe é a estrutura do programa e objeto é a instancia de 
uma classe, ou seja, é a classe criada em memoria. 
 
Foi apresentando também o conceito de encapsulamento, no qual temos um escudo 
de métodos que servem para proteger os atributos de uma classe. 
 
No encapsulamento todos os atributos devem usar o modificador private e todos os 
atributos devem possuir seus métodos para atribuição e retorno(set e get). 
 
Nessa aula iremos exercitar a criação de classes, atributos e métodos usando 
encapsulamento. 
 
Exercicios: 
 
1) Nesse primeiro exercicio vamos criar a classe Aluno conforme diagrama 
abaixo: 
 
 
 
Explicação: O método calcula media, deve gerar a media final do aluno bem como a 
mensagem de aprovado ou reprovado, lembrando que a nota “A” tem peso 4 e a nota 
B tem peso “6”. 
 
Após a criação da classe Aluno, iremos criar a classe TesteAluno, essa classe deve 
possuir o método main. Dentro do método iremos instanciar a classe Aluno, dar nome 
e notas “A” e “B”, depois iremos calcular a media final do aluno, caso o Aluno for 
aprovado mostrar a mensagem de “Aluno <nome> esta aprovado” caso contrario 
mostrar a mensagem “Aluno <nome> esta reprovado”. 
 
 
Programação Orientada a Objetos. 
 
2 
Prof.Fábio Rener 
2) Agora vamos criar a classe Funcionario conforme diagrama abaixo: 
 
 
 
 
Explicação: O método calculaFgtsMensal deve gerar o valor de recolhimento mensal 
de FGTS para o funcionario em questão, o valor do recolhimento mensal é de 8 % do 
salario. O método calcula13SalarioMensal deve gerar o valor de previsionamento 
mensal de 13 Salario para o funcionario em questão, o valor do recolhimento mensal é 
de (salario / 12). 
 
Após a criação da classe Funcionario, iremos criar a classe TesteFuncionario, essa 
classe deve possuir o método main. Dentro do método devemos instanciar Funcionario 
passando as informações necessarias para que os calculos possam ser realizados. 
 
 
Usando a classe Calendar do java 
 
A classe Calendar (pacote java.util) é uma classe abstrata (que não pode ser 
instanciada usando new) que fornece métodos para efetuar a conversão entre um 
momento específico no tempo e um conjunto de campos de calendário, tais como 
YEAR, MONTH, DAY_OF_MONTH, HOUR e assim por diante, e para manipular tais 
campos, por exemplo, obter a data da próxima semana. Um momento no tempo pode 
ser representado por um valor de milisegundos que é a diferença entre a data atual e a 
zero hora do dia 01/01/1970 (Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian)). 
 
import java.util.*; 
 
public class Estudos{ 
 public static void main(String args[]){ 
 Calendar agora = Calendar.getInstance(); 
 System.out.println(agora.toString()); 
 } 
} 
 
Experimente executar este programa e terá um resultado parecido com: 
 
 
java.util.GregorianCalendar[time=1228937781807, 
areFieldsSet=true,areAllFieldsSet 
=true,lenient=true,zone=sun.util.calendar.ZoneInfo 
[id="America/Sao_Paulo",offset 
=-10800000,dstSavings=3600000,useDaylight=true, 
transitions=129,lastRule=java.uti 
l.SimpleTimeZone[id=America/Sao_Paulo,offset= 
-10800000,dstSavings=3600000,useDay 
light=true,startYear=0,startMode=3,startMonth=9, 
startDay=15,startDayOfWeek=1,sta 
rtTime=0,startTimeMode=0,endMode=3,endMonth=1, 
endDay=15,endDayOfWeek=1,endTime=0 
Programação Orientada a Objetos. 
 
3 
Prof.Fábio Rener 
,endTimeMode=0]],firstDayOfWeek=2, 
minimalDaysInFirstWeek=1,ERA=1,YEAR=2008,MONTH 
=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH= 
10,DAY_OF_YEAR=345,DAY_OF_WEEK= 
4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=5,HOUR_OF_DAY 
=17,MINUTE=36,SECOND=21,MILLI 
SECOND=807,ZONE_OFFSET=-10800000,DST_OFFSET=3600000] 
 
Como podemos ver, todas as informações relativas à data e hora que poderemos 
precisar estão contidas neste resultado. 
 
Um objeto Calendar pode produzir todos os valores de todos os campos de calendário 
necessários para implementar a formatação de data e hora para uma determinada 
língua e estilo de calendário (por exemplo, Japanese-Gregorian, Japanese-
Traditional). 
 
 A classe Calendar define a faixa de valores retornados por determinados campos de 
calendário, assim como seus significados. Por exemplo, o primeiro mês do sistema de 
calendário tem o valor MONTH == JANUARY para todos os calendários. 
 
Adicionando ou subtraindo dias de uma data e hora usando o método add() da 
classe Calendar 
 
Este trecho de código mostra como usar o método add() da classe Calendar para 
adicionar ou subtrair dias de uma data. Veja que este método requer o campo de 
calendário e um número inteiro. Para o nosso propósito, o campo de calendário pode 
ser DAY_OF_MONTH ou DATE. Um valor positivo adiciona dias enquanto um valor 
negativo subtrai: 
 
import java.util.*; 
import java.text.*; 
 
public class Estudos{ 
 public static void main(String args[]){ 
 Calendar agora = Calendar.getInstance(); 
 
 // formata e exibe a data e hora atual 
 Format formato = new SimpleDateFormat( 
 "dd/MM/yyyy - HH:mm:ss"); 
 System.out.println("Hoje é: " + 
 formato.format(agora.getTime())); 
 
 // vamos adicionar 5 dias a esta data 
 agora.add(Calendar.DAY_OF_MONTH, 5); 
 // o mesmo resultado pode ser obtido com 
 // agora.add(Calendar.DATE, 5); 
 
 // formata e exibe o resultado 
 formato = new SimpleDateFormat( 
 "dd/MM/yyyy - HH:mm:ss"); 
 System.out.println("Daqui a 5 dias será: " + 
 formato.format(agora.getTime())); 
 } 
}

Outros materiais