Você está na página 1de 7

...............................................................................................................................

ENSINO PRESENCIAL COM SUPORTE EAD SISTEMAS DE INFORMAO MDULO 6 IVANETE FERREIRA DA SILVA - 979009

PORTFLIO 2
LINGUAGEM DE PROGRAMAO III

................................................................................................................................................... Guarulhos 2011

IVANETE FERREIRA DA SILVA

PORTFLIO 2
LINGUAGEM DA PROGRAMAO III

Trabalho apresentado ao Curso de Sistemas da Informao da Faculdade ENIAC para a disciplina de Linguagem da Programao III. Prof. Lcio Luzeti

Guarulhos 2011

Respostas ..............................................................................................................................
ATIVIDADE PROPOSTA 01 1- Relate os problemas de programao com a lgica switch. Explique por que o polimorfismo uma alternativa efetiva utilizao da lgica switch.

Entre os muitos problemas em utilizar lgica de switch, pode-se destacar os fatos de: o programador talvez se esquea de fazer tal tipo de teste quando um garantido; o programador pode esquecer-se de testar todos os possveis casos em um switch; se um sistema baseado em switch for modificado adicionando novos tipos, o programador talvez se esquea de inserir os novos casos em instrues switch existente; cada adio ou excluso de uma classe demanda que cada instruo switch no sistema seja modificada; o monitoramento disto pode consumir tempo e provocar erros.

O polimorfismo uma alternativa efetiva utilizao da lgica switch, porque o polimorfismo de Java pode realizar uma lgica equivalente a lgica switch automaticamente, e isto evitaria assim os tipos de erros geralmente associados com lgica switch.

2- Como o polimorfismo promove extensibilidade?

O polimorfismo promove extensibilidade, pois o software que invoca o comportamento polimrfico independente dos tipos de objeto para os quais as mensagens so enviadas. Novos tipos de objetos que podem responder s chamadas de mtodo existentes podem ser incorporados a um sistema sem exigir modificaes no sistema bsico. Somente o cdigo de cliente que instancia os novos objetos deve ser modificado para, assim, acomodar os novos tipos. Ou seja, com o polimorfismo projeta-se e implementa-se sistemas que soextensveis, pois os programas podem ser escritos para processar genericamente objetos de todas as classes existentes em uma hierarquia. As classes que no existem durante o desenvolvimento do programa podem ser adicionadas com pouca ou nenhuma modificao da parte genrica do programa. As nicas partes de um programa que requerem modificaes so aquelas que requerem conhecimento direto da classe particular que adicionada hierarquia.

3- Como o polimorfismo permite programar no geral em vez de no especfico?

Polimorfismo permite programar no geral em vez de programar no especfico, escrevendo programas que processam objetos de classes que fazem parte da mesma hierarquia de classes como se todos fossem objetos da classe bsica da hierarquia, resumindo, em particular, o polimorfismo permite escrever programas que processam objetos que compartilham a mesma superclasse em uma hierarquia de classes como se todas fossem objetos da superclasse. Na prtica, mesmo com uma linguagem orientada a objetos como o JAVA, possvel escrever programas procedurais. Orientao a objetos est muito mais ligada decises de design de software, do que simplesmente utilizao de uma linguagem orientada a objetos.

4- Relate as vantagens-chave da programao no geral.

As vantagens-chave da programao orientada objetos no geral so: Modularidade: Uma vez que um objeto criado, ele pode funcionar independente do resto do programa. Ele pode ser aproveitado em outros programas ou substitudo por algum outro objeto. Encapsulamento: Uma vez que objetos so criados, voc s precisa se concentrar em us-los, sem se preocupar com os detalhes de sua implementao. ATIVIDADE PROPOSTA 02 Crie uma aplicao em java para controlar sua tarefas. Nessa aplicao devera ter recursos de incluir, consultar, alterar e excluir tarefas.

Cdigo fonte:

import java.awt.*; import java.awt.event.*; import javax.swing.*; public class exer5b extends JFrame implements ActionListener { JLabel L1,L2,L3,L4; JTextField T1,T2,T3,T4; JButton btincluir, btconsultar, btalterar, btexcluir, btSair; public static void main (String[] args) { new exer5b().show(); } public exer5b() { setTitle("Portiflio 02 - Linguagem da Programao III"); setSize(580,500); setLocation(100,100); setLayout(null); L1=new JLabel("Aluno: "); L1.setBounds(80,50,100,30); L1.setOpaque(false); L1.setFont(new Font("Arial", Font.BOLD,18)); T1=new JTextField(); T1.setBounds(150,50,330,30); T1.setOpaque(true); T1.setBackground(Color.WHITE); L2=new JLabel("Registro do Aluno: "); L2.setBounds(80,100,200,30); L2.setOpaque(false); L2.setFont(new Font("Arial", Font.BOLD,18)); T2=new JTextField(); T2.setBounds(280,100,200,30); T2.setOpaque(true); T2.setBackground(Color.WHITE); L3=new JLabel("Endereo: "); L3.setBounds(80,150,100,30); L3.setOpaque(false); L3.setFont(new Font("Arial", Font.BOLD,18)); T3=new JTextField();

T3.setBounds(180,150,300,30); T3.setOpaque(true); T3.setBackground(Color.WHITE); L4=new JLabel("Telefone: "); L4.setBounds(80,200,100,30); L4.setOpaque(false); L4.setFont(new Font("Arial", Font.BOLD,18)); T4=new JTextField(); T4.setBounds(170,200,310,30); T4.setOpaque(true); T4.setBackground(Color.WHITE); btincluir = new JButton("Incluir Dados"); btincluir.setBounds(100,280,150,40); btincluir.setMnemonic('I'); btincluir.addActionListener(this); btconsultar = new JButton("Consultar Dados"); btconsultar.setBounds(300,280,150,40); btconsultar.addActionListener(this); btalterar = new JButton("Alterar Dados"); btalterar.setBounds(100,335,150,40); btalterar.addActionListener(this); btexcluir = new JButton("Excluir Dados"); btexcluir.setBounds(300,335,150,40); btexcluir.addActionListener(this); btSair = new JButton("Sair"); btSair.setBounds(200,390,150,40); btSair.addActionListener(this); getContentPane().add(L1); getContentPane().add(T1); getContentPane().add(L2); getContentPane().add(T2); getContentPane().add(L3); getContentPane().add(T3); getContentPane().add(L4); getContentPane().add(T4); getContentPane().add(btincluir); getContentPane().add(btconsultar); getContentPane().add(btalterar); getContentPane().add(btexcluir); getContentPane().add(btSair); } public void actionPerformed(ActionEvent e) { if(e.getSource()==btincluir) JOptionPane.showMessageDialog(null, sucesso!");

"Dados

includos

com

if(e.getSource()==btconsultar) JOptionPane.showMessageDialog(null, "Consulta efetivada!"); if(e.getSource()==btalterar) JOptionPane.showMessageDialog(null, "Dados alterados sucesso!"); if(e.getSource()==btexcluir) JOptionPane.showMessageDialog(null, "Excluso efetivada!"); if(e.getSource()==btSair) System.exit(0); } } Concluso:

com

Poli (muitas) morphos (formas) permite ao desenvolvedor utilizar uma mesma assinatura de mtodo para desempenhar funes similares, de acordo com o contexto. Um exemplo de polimorfismo no exemplo utilizado na herana seria um mtodo que retorna a autonomia do veculo. No carro, este mtodo tem que verificar a potncia do motor e o combustvel usado (alcool ou gasolina) no caminho, teria que verificar o peso da carga e a potncia do motor. A vantagem do polimorfismo est no fato que um trecho de cdigo, muitas vezes no sabe se o objeto Veiculo um caminho ou um carro, bastando chamar o mtodo que retorna a autonomia, se o objeto for um carro, a virtual machine invoca o mtodo do carro, se o objeto for um caminho, ela invoca o metodo do caminho. Em programao est relacionado possibilidade de se usar o mesmo nome para mtodos diferentes e capacidade que o programa tem em discernir, dentre os mtodos homnimos, aquele que deve ser executado. De maneira geral o polimorfismo permite a criao de programas mais claros, pois elimina a necessidade de darmos nomes diferentes para mtodos que conceitualmente fazem a mesma coisa, e tambm programas mais flexveis, pois facilita em muito a extenso dos mesmos.

Você também pode gostar