Prévia do material em texto
Linguagem de Programação Testes Aula 06 1a Questão 17.3) A figura abaixo representa qual tipo de relacionamento entre as classes? Permutação Mesclagem Combinação Pontuação Agregação Respondido em 11/06/2020 19:19:52 Explicação: Na UML o símbolo do lozango branco indica que a forma de associação entre as classes é uma agregação, que conforme apresentado na aula tem acoplamento fraco. 2a Questão (FCC ¿ 2012 ¿ TRT 11ª Região (AM) Analista Judiciário ¿ Tecnologia da Informação) Sobre Programação Orientada a Objetos, analise as afirmações: I. O encapsulamento garante que apenas as interfaces necessárias para interação com o objeto estejam visíveis, e atributos internos não sejam acessíveis. II. O polimorfismo garante que objetos herdem métodos e atributos de uma superclasse para a geração de uma nova classe. III. A herança possibilita que distintas operações na mesma classe tenham o mesmo nome, desde que alterada a assinatura. Está correto o que se afirma em: I, II e III III apenas II apenas I apenas II e III apenas 3a Questão (IADES ¿ 2011 ¿ PG-DF Analista Jurídico ¿ Analista de Sistemas) Dentro do paradigma de programação orientada a objetos (POO), há um mecanismo utilizado para impedir o acesso direto ao estado de um objeto, restando apenas os métodos externos que podem alterar esses estados. Assinale a alternativa que apresenta o nome deste mecanismo: Subclasse Encapsulamento Mensagem Polimorfismo Herança 4a Questão Tei Ping, aluna de programação, escreveu uma classe em Java, aqui parcialmente apresentada, que feriu um importante conceito de Orientação a Objetos. Marque a opção que indica o conceito usado incorretamente pela estudante. public class Aluno { public String matricula, nome; public float CR; public void imprimirDados() { System.out.println("Matricula = " + matricula + " Nome = " + nome + " CR = " + CR); } } Herança Encapsulamento Polimorfismo Instância Abstração 5a Questão Considere o as classes a seguir pertecentes ao mesmo pacote: Sobre o relacionamento entre as classes Turma e Aluno, respectivamente, marque a alternativa correta. Uma turma possui um aluno, mas, um aluno pertence a várias turmas Não é possível determinar Uma turma possui vários alunos, assim como, um aluno pertence a várias turmas Uma turma possui um aluno, assim como, um aluno pertence uma turma Uma turma possui vários alunos, mas, um aluno pertence a uma turma 6a Questão Uma superclasse "Xpto" possui um atributo privado "a" e um atributo protected "b". Em um método de uma subclasse de "Xpto" é correto afirmar que: É possível acessar "a" diretamente e "b" indiretamente pelos métodos get e set Não é possível acessar "a" ou "b" diretamente, pois esses são atributos de outra classe É possível acessar "a" indiretamente pelos métodos get e set e acessar "b" diretamente É possível acessar tanto "a" quanto "b" diretamente, devido à relação de herança É possível acessar apenas "b", pois "a" não é herdado por ser privado na superclasse 7a Questão ¿Métodos de acesso são usados para obter os valores dos atributos privados e métodos modificadores são usados para alterar os valores dos atributos privados¿ é a definição de: Nenhuma das alternativas Métodos Construtores de acesso Métodos de classe Métodos estáticos Métodos Get e Set 8a Questão Analise o código abaixo: public class Notebook { private String marca; private String modelo; public Notebook(String marca, String modelo) { this.marca=marca; this.modelo=modelo; } } Podemos afirmar sobre esta classe: o método construtor não está implementado a classe Notebook possui dois atributos encapsulados e privados e apenas o método construtor possui o método main - principal possui 5 atributos públicos os atributos estão públicos 1a Questão Os fundamentos para o conceito de abstração no paradigma orientado à objetos são: Nenhuma das alternativas encapsulamento, agregação, herança e polimorfismo encapsulamento, agregação, classes e Objetos encapsulamento, agregação, herança e objetos Get, Set, herança e polimorfismo 2a Questão (ENADE/2011) A programação orientada a objeto não é apenas uma forma de programar, é também um jeito de pensar em um problema utilizando conceitos do mundo real e, não somente conceitos computacionais. Considerando os conceitos da programação orientada a objetos, analise as afirmações abaixo: I. O objeto tem determinadas propriedades que o caracterizam e que são armazenadas no próprio objeto. As propriedades de um objeto são chamadas de instâncias. II. As mensagens são informações enviadas ao objeto para que ele se comporte de uma determinada maneira. Um programa orientado a objetos em execução consiste em envios, interpretações e respostas às mensagens. São os métodos, os procedimentos residentes nos objetos, que determinam como eles irão atuar ao receber as mensagens. III. A herança é um mecanismo para o compartilhamento de métodos e atributos entre classes e subclasses, permitindo a criação de novas classes através da programação das diferenças entre a nova classe e a classe-pai. IV. O encapsulamento é um mecanismo que permite o acesso aos dados de um objeto somente através dos métodos desse. Nenhuma outra parte do programa pode operar sobre os dados do objeto. A comunicação entre os objetos é feita apenas através de troca de mensagens. É correto apenas o que afirma em: I, II e IV I e II I e III II, III e IV III e IV 3a Questão As ações ou comportamento dos objetos são chamadas na orientação a objeto de métodos. Assim, um método é uma função, um serviço ou ação fornecido pelo objeto. O método responsável por buscar os valores armazenados nos atributos dos objetos instanciados é chamado de: Método main Método construtor Método get Método set Método void 4a Questão Analisando o código abaixo, assinale a alternativa que indique a explicação correta do funcionamento dos métodos setEstado(boolean estado) e getEstado(): public class Lampada { private boolean estado; //ligado ou não public Lampada(){ this.estado = false; } public void setEstado(boolean estado){ this.estado = estado; } public boolean getEstado(){ return this.estado; } } Os dois métodos estão errados, pois não estão atualizando o atributo estado da classe. O método getEstado para definir um valor para o atributo estado deveria ser do tipo void, como o método setEstado. O método getEstado está definindo um valor para o estado da lâmpada ; o método setEstado está retornando o estado atual da lâmpada. O método setEstado está definindo um valor para o estado da lâmpada ; o método getEstado está retornando o estado atual da lâmpada . O método setEstado para definir um valor para o atributo estado deveria ser do tipo boolean, como o método getEstado. 5a Questão Em Java pode-se utilizar diferentes tipos de modificadores de acesso para seus atributos e métodos, dependendo da necessidade da aplicação que está sendo desenvolvida. É correto afirmar sobre os modificadores de acesso usados na declaração de atributos: O modificador de acesso private permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso protected permite que só a classe manipule seus atributos. O modificador de acesso protected permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visívelpela própria classe ou suas subclasses, e o modificador de acesso final permite que só a classe manipule seus atributos. O modificador de acesso protected permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso private permite que só a classe manipule seus atributos. O modificador de acesso public permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso protected torna o atributo vísivel pela própria classe ou suas subclasses, e o modificador de acesso private permite que só a classe manipule seus atributos. O modificador de acesso final permite que todos os objetos que o usam possam alterá-lo; já o modificador de acesso public torna o atributo visível pela própria classe ou suas subclasses, e o modificador de acesso private permite que só a classe manipule seus atributos. 6a Questão Na Linguagem Java, qual comando deve ser colocado na lacuna abaixo para que a classe A não possa ser estendida por nenhuma outra classe? public ________________ class A { } private. final. static. protected. transient. 7a Questão Na orientação a objetos, o conceito de encapsulamento corresponde à propriedade de: usar variáveis e constantes do tipo inteiro nos métodos das classes implementadas. esconder ou ocultar detalhes da implementação de uma dada classe de outras classes. receber, por uma classe, uma mensagem sem parâmetros. Ter um conjunto de objetos com a mesma classe. utilizar estruturas de matrizes quadradas nos programas desenvolvidos. 8a Questão Os modificadores de acesso alteram a visibilidade de atributos e métodos nas classes em JAVA. Analise as afirmativas abaixo de acordo com a imagem. I.Os atributos declarados como private na classe Animal são visíveis somente na classe Animal. II.Os atributos declarados como protected na classe Animal são visíveis pela classe Animal e classe Floresta. III.Os atributos declarados como public na classe Animal são visíveis pela classe Animal, classe Floresta e classe Mamífero. IV.Os atributos declarados sem modificadores na classe Animal são visíveis pela classe Animal e classe Floresta. De acordo com as afirmativas, marque a alternativa CORRETA: Todas estão erradas. Apenas as afirmativas I e IV estão corretas. Apenas a afirmativa IV está incorreta. Apenas a afirmativa III está incorreta. As afirmativas I, II e IV estão corretas. 1a Questão Como se declara um método estático em Java? public void static exemploMetodo() {} public static void exemploMetodo() {} public void exemploMetodo() {} static void public exemploMetodo() {} static exemploMetodo() {} 2a Questão Seja a classe: public class Carro { private String cor; private boolean estadoMotor; public void ligaMotor() {estadoMotor=true;} public void desligaMotor( ) {estadoMotor=false;} public boolean motor( ){ return estadoMotor;} } Se o código abaixo for executado, pode-se dizer que: public class Teste { public static void main(String[] args) { Carro c=new Carro(); c.cor="Preto"; } } Será gerado erro de compilação pois há erro de sintaxe em: c.cor="Preto"; O código é executado normalmente, pois c é uma instancia da mesma classe que o atributo. Será gerado um erro de compilação, pois o atributo é private. O objeto c não pode ser instanciado, pois não há construtor na classe. Será gerado erro de execução pois o tipo do atributo está em desacordo com o valor atribuído. Aula 07 1a Questão class B extends A { int m1() { return a + b + c + d + e; } } public class A { static int a; public int b; int c; protected int d; private int e; } A classe B acima encontra-se no mesmo pacote que a classe A. O método m1 apresenta erro de compilação porque a seguinte variável não pode ser acessada diretamente: e a b c d 2a Questão Dos componentes do Swing, apresentados abaixo, marque aquele que mostra uma área com um texto curto ou uma imagem, ou mesmo ambos, mas não reage a eventos de entrada JLabel JButton JTextField JPasswordField JTextArea 3a Questão Considere o seguinte código-fonte em linguagem Java: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class Q4Class extends JFrame{ private JButton b; public static void main(String[] args) { JFrame f = new Q4Class (); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(300, 200); f.setVisible(true); } public Q4Class (){ this.getContentPane().add(b = (new JButton("Clique aqui"))); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ ((JButton)e.getSource()).setText("OK"); } }); } } o argumento da chamada do método addActionListener para o objeto referenciado por b é uma classe interna anônima o programa não termina quando a janela é fechada porque não foi adicionado um WindowListener ao objeto referenciado por f no método main o código não executará, com erro no construtor o símbolo b não poderia ser referenciado dentro do método main porque este não faz parte da classe Q4Class a chamada do método getSource() retorna uma referência da classe Object para o objeto ouvinte do evento de clique de botão, e essa referência é convertida para o tipo JButton para ser possível mudar o texto exibido no botão 4a Questão Dentro do paradigma de programação orientada a objetos (POO), há um mecanismo pelo qual uma classe pode estender outra classe, aproveitando seus métodos e atributos. Assinale a alternativa que apresenta o nome desse mecanismo. subclasse. polimorfismo. mensagem. encapsulamento. herança. 5a Questão Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é: JButton botao = new JButton("sair"); JButton.botao = new JButton("sair"); JFrame.botao = new.JButton("sair"); JFrame botao = new JButton("sair"); JButton botao = new JFrame("sair"); 6a Questão O Java fornece uma infinidade de funcionalidades para prover comunicação humano-computador, ou melhor, para desenvolver interfaces. Sobre as bibliotecas para desenvolver interface de interação com o Java, analise e marque a assertiva correta: I. São fornecidas duas bibliotecas para desenvolver um GUI - O java.awt (Abstract Window Toolkit) e o javax.swing; II. São exemplos de elementos ou componentes atômicos, ou seja, que não permitem conter outros elementos: JFrame, JPanel, JButton e JLabel; III. Posicionamento e tamanho dos componentes Java Swing são controlados por LayoutManager¿s; IV. Java usa um elemento próprio para controle das ações ou eventos e não fazem uso de listeners para processar eventos. I, II, III e IV. Apenas I; Apenas I e IV; Apenas I e III; Apenas I, II e III; 7a Questão Qual é o método utilizado para incluir uma barra de menu em um JFrame? addJMenuBar setJMenuItem setJPopupMenu setJMenuBar addJMenuItem Aula 08 1a Questão A JOptionPane é a classe mais simples do Swing, esta classe mostra janelinhas de mensagens, confirmação e erros, entre outras. Marque a alternativa que apresenta o método mais apropriado de se mostrar uma mensagem para o usuário. JOptionPane.showQuestionMessage(null,"Minha mensagem!"); JOptionPane.showConfirmDialog(null, "Minha mensagem!"); JOptionPane.showFileChooser(null, "Minha mensagem!"); JOptionPane.showInputDialog(null, "Minha mensagem!"); JOptionPane.showMessageDialog(null, "Minha mensagem!"); 2a Questão Na linguagem Java, quase todos os componentes propagam eventos. Estes eventos devem ser tratados em algum ponto do código da aplicação. Os eventos nunca são tratados no próprio componente. Para ligar o código do tratamento de eventos ao componente existem, no Java, um conjunto de interfaces chamadas: FlowLayout Action Listener Interface Container 3a Questão Supondo uma aplicação que utiliza um botão (JButton) com tratamento de eventos implementado dentro da própria classe, sempre que este for pressionado, irá percorrer a sua lista interna de listeners, chamando para cada um, o método actionPerformed; Qual o nome do evento gerado pelo botão quando pressionado. getActionCommand addActionListener ActionPerformed ActionEvent ActionListener 4a Questão Um estagiário de programação foi incumbido de verificar uma linha de código de um programa que apresentava uma tela de forma indesejada. JOptionPane.showInputDialog(null," "," ",JOptionPane.QUESTION_MESSAGE); Para corrigir é necessário conhecer o que se espera, respectivamente, nos campos entre aspas. Assinale a alternativa que define respectivamente. texto da barra de título e o texto interno do campo texto. texto interno da caixa de leitura e o texto do campo texto. texto interno da caixa de leitura e o texto da barra de título. texto da barra de título e o texto interno da caixa de leitura. símbolo do tipo de mensagem e o tamanho a cor da caixa de texto. 5a Questão O método __________ permite o registro de um tratador de eventos para um objeto visual. O método __________ contém o código de tratamento de um evento em um objeto tratador de eventos. O método _________, da classe Event, permite obter a referência do objeto visual que gerou o evento. Escolha a opção que enumera a sequência correta de preenchimento das lacunas do texto. addActionListener; actionPerformed; getSource actionPerformed;add; getSource addActionListener; handler; getSource getSource; handler; actionPerformed add; addActionListener; handler 6a Questão Para tratar os eventos relacionados a botões( Jbutton, JradioButton, JcheckBox, JtoogleButton) ou itens de um menu (JMenuItem), devem-se criar classes para manipulação a partir de interface java.awt.event.ActionListener. Essa interface tem apenas um método (actionPerformed(ActionEvent e)), motivo pelo qual: não se pode associar nenhuma ação a esses comonentes gráficos. não associa-se a estes componentes diversos tipos de eventos. não existe uma classe adaptadora (adapter) para este tipo de evento. estes componentes gráficos são estáticos e não efetuam eventos. existem diversos adapters (classes adaptadoras) para este tipo de evento. 7a Questão Os componentes Swing podem gerar vários tipos de eventos diferentes. Quando um evento ocorre, o gerenciador de janelas cria um evento e passa para um tratador de eventos definido pelo programador. O fragmento de código responsável por implementar métodos dentro da interface ActionListener é: public void itemStateChanged(ActionEvent e) public void itemPerformed(ActionEvent e) public void actionStateChanged(ActionEvent e) public void actionListenet(ActionEvent e) public void actionPerformed(ActionEvent e) 8a Questão Evento é um acontecimento relevante no meio externo ao sistema . Portanto um evento pode ser considerado como o resultado da interação do usuário com algum componente. Na linguagem java, o evento gerado sempre que um botão for pressionado, este irá percorrer a sua lista interna chamando o método: actionEvent actionPerformed ItemListener abstractClass ActionListener Respondido em 11/06/2020 19:31:50 Explicação: Para adicionar listeners, a classe que representa o botão (JButton) possui um método chamado addActionListener, que recebe por parâmetro um objeto que implementa a interface ActionListener. A interface ActionListener especifica um método chamado actionPerformed que será disparado toda vez que o usuário clicar naqule botão. Aula 09 1a Questão O tratamento de exceções na linguagem Java é caracterizado pelo encapsulamento das informações de um erro em um objeto que representa uma classe específica de erro. O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java. Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA. A cláusula try sempre é executada. A cláusula finally é sempre executada mesmo quando existente em um bloco try/catch. As exceções em Java são fixas e não é possível definir novas exceções. Uma exceção é sempre um objeto do tipo Throwable A cláusula catch nem sempre é executada. 2a Questão O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java: I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try. II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch. III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro. IV. O bloco do finally é sempre executado, com ou sem exceção. Marque a alternativa correta: Apenas as sentenças II e III estão corretas Apenas as sentenças I, III e IV estão corretas Apenas a sentença I está correta. Apenas as sentenças I,II e III estão corretas. Todas as sentenças estão corretas. 3a Questão A palavra reservada _______ indica que um método pode lançar uma exceção. A palavra reservada _________ lança uma exceção definida pelo programador. A palavra reservada _________ define o início de um trecho de código onde é feito o tratamento de uma exceção. Escolha a opção que define na ordem correta as palavras que completam o texto anterior. finally; throw; catch try; finally; catch finally; throw; try throw; throws; catch throws; throw; catch 4a Questão O tratamento de exceção em Java é implementado com a utilização dos blocos try(), catch() e opcionalmente o bloco finally. Sabe-se que o bloco finally não executará se o aplicativo fechar antes de um bloco try chamando o método System.exit, pois este método encerra imediatamente um aplicativo. Assim marque a única afirmação CORRETA com relação a aplicação dos blocos que implementam a exceção em Java. O Java permite colocar qualquer código entre um bloco try e seus blocos catch correspondentes. No Java é permitido colocar uma lista de parâmetros de exceção separados por vírgulas para um mesmo bloco catch. No Java se permite capturar o mesmo tipo de exceção em dois blocos catch diferentes em uma única instrução catch. O java garante que o um bloco finally executará se um bloco try fechar utilizando uma instrução return, break ou continue. Se o programa capturar a exceção em dos blocos catch, o programa processa primeiramente o bloco finally e só então processa o tratamento da exceção. 5a Questão Uma exceção é um objeto gerado para indicar a ocorrência de algum tipo de condição excepcional durantea execução de um método qualquer. Apenas objetos de classes pertencentes à hierarquia de classes de exceção do Java poderão ser gerados, propagados e capturados. A subclasse que indica uma tentativa de converter para o formato numérico uma String cujo conteúdo não seja compatível com o formato escolhido é: NullPointerException IOException IndexOutOfBoundsException ArithmeticExceptiocn NumberFormatException 6a Questão Uma exceção é um objeto gerado para indicar a ocorrência de algum tipo de condição excepcional durante a execução de um método qualquer. Apenas objetos de classes pertencentes à hierarquia de classes de exceção do Java poderão ser gerados, propagados e capturados. A superclasse dessa hierarquia, que por sua vez é uma subclasse de Object, é: Throwable Error VirtualMachineErros Exception RunTimeException 7a Questão No java, é necessário um método para cada catch ou lista de exceções que podem ser lançadas. Se um método causar uma exceção mas não capturá-la, então deve-se utilizar a palavra-chave: Try Exception Finally Error Throws 8a Questão Marque a afirmativa correta sobre o tratamento de exceções em Java. O tratamento de exceção é composto apenas pelo comando try. Tratamento de exceção não é um recurso útil e facilmente substituído pelos comandos if e else. O tratamento de exceção só captura erros de compilação. Tratamento de exceção é um recurso da linguagem de programação Java utilizado para capturar os erros de execução. Tratamento de exceção não é utilizado quando os erros ocorrem. 1a Questão Assinale a alternativa que completa corretamente a lacuna da afirmação a seguir: "No modelo de terminação de tratamento de exceção, depois de uma exceção ser tratada o programa não retorna ao ponto de lançamento porque o __________ expirou." bolco finally método getMessage bloco try bloco cacth método main 2a Questão Quando em um método, uma determinada situação de exceção é gerada e não é tratada no corpo do método, essa exceção é arremessada para ser tratada pelo invocador. Para indicar o processamento do mecanismo descrito, usa-se a cláusula, abaixo indicada, na assinatura do método: throwable throw throws raise raising 5a Questão Qual o resultado do código abaixo? Erro ArithmeticException Código não compila Resultado é: 3 Resultado é: 5 Resultado é: 4 6a Questão Uma exceção é uma indicação de um problema que ocorre durante a execução de um programa. O nome "exceção" dá a entender que o problema ocorre raramente, se a regra é que uma instrução execute geralmente de modo correto, então a exceção a regra é que um problema ocorra. Em muitos casos, o tratamento de exceção permite que: um programa seja executado apenas se não ocorrer nenhuma situação de exceção, independentemente de qual seja esta situação excepcional. um programa seja travado e destravado a medida que as instruções forem sendo executadas. um programa nunca seja executado se houver uma situação de exceção, independentemente de qual seja a situação de exceção. um programa seja finalizado independetemente de haver ou não uma situação de exceção. um programa continue executando como se nenhum problema tivesse sido encontrado. 7a Questão Dado o programa em Java: public class Exemplo { public static void main(String[] args) { int z=5, x=0; try{ z/=x; } System.out.println("Divisão por Zero."); catch(Exception ex){ System.out.println("Erro!"); } } } Marque a alternativa que representa o seu resultado: Apresenta a mensagem "Divisão por Zero." Não compila devido a erro. 0 Não apresenta resultado de saída. Captura a exceção e apresenta a mensagem "Erro!" Aula 10