Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação – Discursivas 1 Identifique no código abaixo um exemplo de Objeto (Instância), Método e Classe. Explique cada conceito deste. public class JavaApp { public static void main(String[] args) { Java java1 = new Java("1.5", "jdk"); System.out.println(java1.getNome()); } } Gabarito: Objeto: java1 Classe: Java Método: getNome() Objeto é uma instância de classe. Classe é um modelo abstrato de dados. Método é uma operação ou ação ofertada pela classe. A Linguagem de programação Java utiliza a metodologia orientada a objetos e permite a implementação de classe e objetos. Utilizando esta linguagem, implemente uma classe Computador com os atributos codigo, marca e modelo e uma classe com método main que instancia dois objetos com os seguintes dados: i) 2, "hp", "NXY000" e ii) 6, "acer", "YXU200". Gabarito: public class Computador{ private int codigo; private String marca; private String modelo; public Computador(int codigo, String marca, String modelo){ this.codigo=codigo; this.marca = marca; this.modelo=modelo; } } public class Principal{ public static void main(String[] args){ Computador comp1 = new Computador(2,"hp","NXY000"); Computador comp2 = new Computador(6,"acer","YXU200"); } } Objeto é uma instância de uma classe. Para instanciar uma classe em Java, deve se‐ utilizar um método especial chamado construtor. Explique quais características este método especial de ve ter e implemente um método construtor para uma classe Carro com os atributos marca e modelo. Gabarito: O método construtor deve ter o mesmo nome da classe e não po de possuir retorno. public Carro(String marca, String modelo){ this.marca=marca; this.modelo=modelo; } A classe abaixo foi implementada na visão procedura l. Implemente esta classe utilizando os conceitos de Classe, Métodos Acessadores e Modificadores do pa radigma Orientado a Objetos. Deverão ser feitas as classes Funcionário e Depende nte. public class ConvertaOO { public static void main(String[] args) { String nome; int idade; nome = "Jose"; idade = 40; System.out.println(nome+idade); String nomedep; int idadedep; nome = "Ana"; idade = 20; System.out.println(nomedef+idadedep); } } Gabarito: public class Funcionario { private String nome; private int idade; public Funcionario(String nome, int idade){ this.nome=nome; this.idade=idade; } public int getIdade(){ return idade; } public String getNome(){ return nome; } public void setNome(String nome){ this.nome=nome; } public void setIdade(int idade){ this.idade=idade; } } public class Dependente{ private String nome; private int idade; public Dependente(String nome, int idade){ this.nome=nome; this.idade=idade; } public int getIdade(){ return idade; } public String getNome(){ return nome; } public void setNome(String nome){ this.nome=nome; } public void setIdade(int idade){ this.idade=idade; } } Linguagem de Programação – Discursivas 2 public class ConvertaPrincipal { public static void main(String[] args) { Funcionario func1 = new Funcionario("jose",4 0); Dependente dep1 = new Dependente("ana",20) ; System.out.println(func1.getNome() +func1.getIdade()); System.out.println(dep1.getNome() +dep1.getIdade()); } } Explique o conceito de Polimorfismo e Sobrecarga. O código fonte abaixo possui exemplos destes conceitos? Se sim, aponte-os. import java.util.Vector; public class Pessoas { private String nome; private int codigo; public Pessoa(String nome, int codigo) { this.nome = nome; this.codigo = codigo; } public Pessoa(int codigo) { this.codigo = codigo; } public String toString() { return "dados" + this.codigo + this.nome; } } public class PessoasEspeciais extends Pessoa { private String caracteristica; public PessoasEspeciais(String nome, int codigo, String caracteristica) { super(nome, codigo); this.caracteristica = caracteristica; } public String toString() { return "dados" + this.codigo + this.nome + this.caracteristica; } } Gabarito: Polimorfismo ocorre quando métodos possuem as mesmas assinaturas e implementações diferentes em classes distintas. Neste caso o método toString() é polimórfico. Métodos com o mesmo nome, mas assinaturas diferentes se constituem em sobrecarga. Neste caso o método construtor de Pessoa está sobrecarregado. Java é uma linguagem multiplataforma, isto é, pode ser executada em vários sistemas operacionais ou dispositivos. Tal característica é em razão, principalmente, pela presença da Máquina Virtual Java. Explique como esta Máquina Virtual possibilita a execução dos programas Java em várias plataformas. Gabarito: A máquina virtual java é um componente da plataforma java que funciona entre o sistema operacional e o programa java. Existe uma implementação de máquina virtual java para cada sistema operacional e/ou dispositivo móvel. Na verdade, é a máquina virtual java que interpreta o programa java. O programa abaixo pode gerar uma exceção? Se a resposta for positiva, como implementar um tratamento de exceção para que seja exibida uma mensagem em caso de erro? public class Exemplo1App extends Object { public static void main(String args[]) { int a[] = new int[2]; for (int i = 1; i <= 4; i++) { System.out.println(a[i]); } } } Gabarito: Sim. Segue a Implementação: public class Exemplo1App extends Object { public static void main(String args[]) { try { int a[] = new int[2]; for (int i = 1; i <= 4; i++) { System.out.println(a[i]); } } catch (ArrayIndexOutOfBoundsException e) { System.out.println("erro de indice fora de faixa"); } } Java é uma linguagem de programação com a qual podemos realizar qualquer tipo de programa. Na atualidade, é uma linguagem muito extensa e cada vez cobra mais importância no âmbito de Internet como na informática em geral. Foi desenvolvido pela companhia Sun Microsystems com grande dedicação e sempre enfocada a cobrir as necessidades tecnológicas mais principais. Descreva a principal característica da linguagem JAVA e apresente a vantagem que essa característica proporciona? Gabarito: Uma das principais características pelas quais Java se tornou tão famoso é que é uma linguagem independente da plataforma. Isto quer dizer que se fazemos um programa em Java poderá funcionar em qualquer computador do mercado. É uma vantagem significativa para os desenvolvedores de software, pois antes tinham que fazer um programa para cada sistema operativo, por exemplo Windows, Linux, Apple, etc. Isto se consegue porque foi criado uma Máquina de Java para cada sistema que faz de ponte entre o sistema operativo e o programa de Java e possibilita que este último se entenda perfeitamente. Linguagem de Programação – Discursivas 3 Erros de execução podem ocorrer em códigos fontes implementados. As boas práticas de desenvolvimento da programação orientada a objetos exigem que o desenvolvedor se preocupe com os possíveis erros de execução da sua aplicação. Na linguagem de programação Javapara tratar erros, deve-se utilizar paradigma try / catch. Neste contexto, implemente uma aplicação Java que trate erros de divisão por zero. Gabarito: public class ErroZero { public static void man(String[] args { try { int x = 0 int y = 0 int resultado = y / x; } cactch(ArithmeticException e){ System.out.printin("erro de divisão por zero") + e.getmessage()); } } Uma API (Application Programming Interface) é um conjunto de classes e componentes que facilitam o desenvolvimento de diversas aplicações em Java. Cite dois exemplos de classes da API Java e as suas funções Gabarito: ArrayList - classe que implementa uma collection que permite o armazenamento de um conjunto de objetos; JButton - classe que representa em SWING um botão A metodologia orientada a objetos permite a modelagem de sistemas complexos. Conceitos relacionados com esta metodologia como classe, objetos, métodos, sobrecarga e polimorfismo possibilitam a construção de softwares de qualquer domínio. Neste contexto, apresente duas vantagens da metodologia orientada a objetos em relação às outras metodologias de desenvolvimento de software. Gabarito: Duas vantagens são: manutenção do projeto de software fica menos custosa; permite o reuso de código; A Plataforma Java é dividida em três edições: JSE (Java Standard Edition), JEE (Java Enterprise Edition) e JME (Java Micro Edition). Explique a diferença destas três plataformas. Gabarito: JSE - voltado para desenvolvimento desktop. JEE - voltado para desenvolvimento web. JME - voltado para desenvolvimento mobile. Com base no código java a seguir responda: public class Automovel { public String nome(String nome) { return nome; } } public class Carro { } public class Executa { public static void main(String[] args) { Carro carro = new Carro(); System.out.println(carro.nome("Corsa"); } } Ao analisar o código, podemos perceber a ausência de conceitos, exigidos para a execução correta. Quais são? Reescreva o código de forma que seja executado corretamente, incluindo esses conceitos. Gabarito: Conceitos ausentes: Herança e Polimorfismo public class Automovel { public String nome(String nome) { return nome; } } public class Carro extends Automovel { @Override public String nome(String nome) { return "O carro é " + super.nome(nome); } } public class Executa { public static void main(String[] args) { Carro carro = new Carro(); System.out.println(carro.nome("Corsa"); } }
Compartilhar