LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o...

61
POO, em Java, com Eclipse e Netbeans LNCC

Transcript of LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o...

Page 1: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

POO, em Java, com Eclipse e Netbeans

LNCC

Page 2: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Tópicos da aula

1. Classificação de entidades2. Classes e objetos em Java3. Encapsulamento, campos e métodos4. Getter’s e setter’s5. Construtores

Page 3: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

A classificação de entidades

Page 4: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Categorias ‐ katêgoriai

ARISTÓTELES384 a.C. - 322 a.C.

The word "category" (katêgoria) means "predication".First, …Second, …Third, the categories may be seen as kinds of entity, as highest genera or kinds of thing that are. A given thing can be classified under a series of progressively wider genera: Socrates is a human, a mammal, an animal, a living being. The categories are the highest such genera. Each falls under no other genus, and each is completely separate from the others. This distinction is of critical importance to Aristotle's metaphysics.

Page 5: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Reducionismo

Descartes introducedreductionism, the study of the world as an assemblage of physical parts that can be broken apart and analyzed 

separately.

[Edward O. Wilson. Consilience. The unity of knowledge. A.A. Knoff. New York. 

1998, p. 29]

René Descartes1596 ‐ 1650

Page 6: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Complexidade

Divida‐o em subsistemas mais simples e expresse seu comportamento em termos do 

comportamento desses subsistemas e das interações entre eles

Page 7: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Carolus Linnaeus1707‐1778

A sua principal obra, a SystemaNaturae, teve 12 edições durante a sua vida (com a 1.ª edição em 1735). 

Nesta obra, a natureza é dividida em três reinos: mineral, vegetal e animal.

Em cada reino usou um sistema hierárquico de cinco categorias: classe, ordem, gênero, espécie e variedade.

Page 8: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Atualmente

Page 9: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Árvore filogenética

Page 10: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

O paradigma de orientação a objetos

Um objeto é um modelode uma entidade real

através da abstração de suas características e comportamentos

Page 11: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Exemplo

Lassie

Rex

Simbad

A classe é a dos caninos

Lassie, Simbad e Rexsão instâncias da classe 

dos caninos.São objetos .

Page 12: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Classes e objetos em JAVA

Page 13: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Características de uma classe

Campo 1...

Campo N

Método 1...

Método M

Classe A

Nome da classe

Propriedades da classe

Comportamentos da classe

NotaçãoUML

Page 14: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Classes / Objetos e abstração

Classe das cadeiras

nomebelezacabelo

Escrever()Sentar()Namorar()

Mulher

Classe das tintas

Page 15: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Campo 1...

Campo N

Método 1...

Método M

Classe A

Um objeto é uma instância de uma classe

O estado de um objeto é definido pelos valores 

de seus atributos

As ações realizáveis por um objeto são descritas pelos 

métodos

Classes e objetos

Criado em tempo de execução, por um construtor

De classe ou de instância

Modificar seus atributos ou trocarmensagens com outros objetos

Variáveis de classe ou de instância

Page 16: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Atributosda classe

Modificador de acesso

Construtorda classe

Métodos da classe

Palavra chave para criar a 

classeNome da classe

Page 17: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Declaração de classe

modificador

identificador

nome da classe

nome da interface

declaração de campos

class

extends

implements

{ }

,

Page 18: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Nome de classe

identificador

identificador

nome de pacote

.

Page 19: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Existem quatro tipos diferentes de modificadores acesso em Java: – public (menos restritivos) – protected

– private (mais restritivos)– default

• Os três primeiros modificadores de acesso são explicitamente escritos no código para indicar o tipo de acesso, para o quarto, que é o default, nenhuma palavra‐chave é utilizada.

Modificadores de acesso

Page 20: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Acesso padrão – Especifica que só classes no mesmo pacote podem ter acesso à classe. 

– Nenhuma palavra‐chave para o modificador de acesso default; ele é aplicado na ausência de um modificador de acesso.

Acesso default

Page 21: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Acesso público – Especifica que membros da classe (variáveis ou métodos) são acessíveis a qualquer classe.

– Qualquer objeto que interage com a classe pode ter acesso público aos membros da classe. 

– Palavra‐chave: public

Acesso   public

Page 22: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Acesso protegido– Indica que os membros da classe são acessíveis apenas aos métodos das sub‐classes da classe. 

– A subclasse pode ser em diferentes pacotes 

– Palavra‐chave: protected

Acesso protected

Page 23: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Acessibilidade Privada– Especifica que os membros da classe são acessíveis apenas pela classe estão definidos.

– Palavra‐chave: private

Acesso private

Page 24: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Exemplo

Atributo da classe

Palavra‐chave utilizada para criar uma classe 

em Java 

Nome da classe ‐Identificador único que 

descreve a classe

Page 25: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Acesso e visibilidade

Private Default Protected Public

Mesma classe Sim Sim Sim Sim

Outra classe, mesmo pacote

Não Sim Sim Sim

Sub‐classe, outro pacote

Não Não Sim Sim

Fora de sub‐classe, outro pacote

Não Não Não Sim

Visibilidade da classe

Tipo de acesso

Page 26: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Boas Práticas

Page 27: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Encapsulamento,campos e métodos

Page 28: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Encapsulamento

Métodos públicos

Campos públicos

Métodos privados

Campos privados

Desenho deuma classe 

segundo a OMG

Page 29: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Tipos de campo

Page 30: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Classe Carro Objeto Carro 1

Objeto Carro 2

Variáveis de

 instância

placa KTU 2234 MPV 9860

cor Preto Azul

montadora Fiat Ford

VelocidadeAtual 55Km/h 80Km/hVariáveis 

estáticas

Count=2

Métod

os Acelerar

Virar

Freiar

Exemplo

Valores que caracterizam cada objeto 

Valores associados à classe

Page 31: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Forma de declarar uma propriedade (campo) da classe

Declarando propriedades

Partes entre [   ] indicam que são valores  opcionais.

Page 32: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Exemplo

Variáveis de instância ‐

caracterizam o objeto

Page 33: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Boas práticas

Page 34: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Exemplo

Usamos a palavra‐chave static, para indicar uma variável estática – uma 

variável da classe

Page 35: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Declarando um método

6 modificador 7 6 tipo de retorno 7 6 nome 7 ( 6 valores 7 )  { . . .

}

Um dentre os diversos 

modificadores de visibilidade

Qualquer tipo de dado 

( inclusive  void )

qualquer identificador 

válido

nome  tipo, nome  tipo, 

. . .  ,nome  tipo

Page 36: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Getter’s e setter’s

Page 37: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Métodos de acesso– Usado para ler valores de variáveis de uma classe. 

– Normalmente escritos como: 

– Ele também retorna um valor.

Métodos de acesso (Getter’s)

Page 38: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Métodos  acesso (Getter’s)

( ) significa que o método não contem parâmetros

O método pode ser chamado por objetos de fora da classe

Tipo de retorno do método

Nome do método

Page 39: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.
Page 40: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

• Métodos modificadores– Usado para escrever ou mudar valores de variáveis de uma classe.

– Normalmente escrito como: 

Métodos modificadores (Setter’s) 

Page 41: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Métodos modificadores (Setter’s) 

Parâmetro formal que será utilizado dentro 

método

Page 42: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.
Page 43: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Também podem ser usadas para retornar valores constantes, em vez de variáveis.

Podem existir diversas 

declarações return em um 

método.

Page 44: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Métodos static

Chamadas de métodos da classe

Bicicleta

O objeto magrelachamando seus 

métodos

Page 45: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Declaração de métodos estáticos

Page 46: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.
Page 47: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Boas práticas

Page 48: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Construtores

Page 49: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Construtores

Estão no programa para estabelecer o estado inicial

de cada objeto de uma classe

O valor das variáveis que definem os 

campos não‐estáticos da classe

Page 50: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Declaração de construtor 

modificador

identificador

Lista de parâmetros

( )

bloco de comandos 

Page 51: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Características de um construtorTodo construtor 

possui  o mesmo nome de sua classe

pois:

Não possui valor de retorno

Não pode ser chamado 

diretamente

Page 52: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Classes e construtores

Uma classe precisa possuir pelo menos um 

construtor

Caso o programador não escreva nenhum construtor 

para uma classe, o compilador Java cria, automaticamente, 

um construtor padrão para ela

Uma classe pode possuir mais de um 

construtor

Page 53: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Objetos da classe Bicicleta

Bicicleta

aromarcacor

virar()freiar()

aro 24marca Caloicor azul

aro 22marca Monarkcor vermelha

Page 54: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Codificando construtores

1

2

3

Page 55: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Televisao:• Atributos :

– status (on/off);– canal.

• Defina um construtor que inicialize o campo status como off e o campo canal como 11.

• Defina um método ligaDesliga• Se estiver ligado ele desliga e se estiver desligado ele liga.• Defina um método trocaCanal• Recebe troca o canal da tv, pedindo o canal a ser trocado.• Essa televisão só vai até o canal 15, se for um canal inválido permaneça no 

mesmo canal.• Defina um método verStatus que irá exibir uma mensagem dizendo se a tv

está ligada ou desligada e se estiver ligada mostrar também o canal em que ela está.

• Defina um método main para testar a classe

Exercício 1

Page 56: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Termometro:– Atributos: temperatura– Defina um construtor que não receba nenhum parâmetro e 

inicialize o campo temperatura com o valor de 15.– Defina um método aquecer.

• A temperatura é alterada de 5 em 5.– Defina um método esfriar.

• A temperatura e alterada de 5 em 5.– Defina um método para retornar o valor de temperatura.– Defina o método main

1. Crie um objeto da classe Termometro.2. Teste o aumento e a baixa da temperatura.

Exercício 2

Page 57: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Carro:• Atributos:

– cor;– marca;– modelo;– combustível.

• Defina um construtor que receba: cor, marca, modelo, combustível.• Defina um método mostrarCarro, para mostrar os atributos do 

carro.• Defina o método main para testar a classe.

1. Criar um objeto a classe Carro.2. Chamar o método mostrarCarro.

Exercício 3

Page 58: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Livro:• Atributos :

– titulo;– autor– editora– quantidade de páginas.

• Defina métodos que retornem os valores de cada atributo da classe• Defina métodos que alterem os valores q de cada atributo da classe• Defina um método main para testar a classe.

1. Criar um objeto da classe livro.2. Popular o objeto pelos métodos get e set.3. Mostrar o título do livro e o nome do autor.4. Mostrar o título do livro a editora e a quantidade de páginas.5. Alterar a quantidade de páginas.6. Mostrar título do livro,nome do autor e quantidade de páginas.

Exercício 4

Page 59: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Retangulo:• Atributos:

– altura;– largura.

• Defina um construtor que chame o método “ObterAlturaLargura”.

• Defina um método calcular área (área=altura*largura)• Defina um método para ler altura e largura.• Defina um método main para testar a classe.

1. Criar um objeto da classe Retângulo.2. Chamar o método que calcula a área.

Exercício 5

Page 60: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Tempo:• Atributos:

– hora;– minutos;– segundos.

• Defina um construtor que receba hora, minuto e segundo.• Defina um método para mostrar a hora no formato hora, 

minuto e segundo.• Defina um método para retornar a hora em segundos.• Defina um método main para testar a classe.

1. Criar um objeto da classe Tempo.2. Chamar o método para mostar a hora3. Chamar o método parar mostrar a hora em segundos

Exercício 6

Page 61: LNCCwiki.martin.lncc.br/bcorrea-istparacambi-oo1/file/java-oo-aula3... · Complexidade Divida‐o em subsistemas mais simples e expresse ... em três reinos: mineral, vegetal e animal.

Crie uma classe Funcionario:• Atributos: 

– nome;– RG;– salário– quantidade de anos que o funcionário está na firma.

• Defina um construtor que receba nome, RG, salário e quantidade de anos.

• Defina um método que calcule e altere o salário.– A cada ano que o funcionário está na firma tem um aumento de 10%

• Defina um método que mostre todos os dados do funcionário.• Defina o método main para testar a classe.

1. Crie três objetos da classe Funcionário2. Mostre os dados dos funcionários.3. Calcule seus salários.4. Mostre os dados dos funcionários.

Exercício 7