Anda di halaman 1dari 20

EEEFM ALMIRANTE BARROSO ESCOLA ESTADUAL DE ENSINO FUNDAMENTAL E MDIO ALMIRANTE BARROSO CURSO TCNICO EM INFORMTICA

SIMULADO DA PROVA REFERENTE DISCIPLINA LINGUAGENS DE PROGRAMAO ORIENTADA A OBJETOS

Exerccio do Curso Tcnico em Informtica apresentado a Escola Estadual de Ensino Fundamental e Mdio Almirante Barroso, como requisito parcial para obteno do ttulo de Tcnico em Informtica, sob orientao do professor Rafael Denerson Ramos de Sousa.

VITRIA 2012

SIMULADO DA PROVA REFERENTE DISCIPLINA LINGUAGENS DE PROGRAMAO ORIENTADA A OBJETOS


1- O que atributo, caracterstica, varivel, dado e informao. R: Atributos representam caractersticas intrnsecas dos objetos, definindo nomes ou rtulos que os identificam. Caractertica algo relativo modelagem da entidade no mbito real, ou seja, na prpria definio concebida atravs do estudo de cada aplicao a ser criada. A caracterstica diretamente relacionada com o atributo. Varivel consiste em uma entidade onde o seu contedo sofre alterao constante durante a execuo do programa. Atributos podem funcionar como variveis de acordo com o contexto do problema. O conceito de Variveis bastante utilizado em linguagens estruturadas. Dado um valor atmico que consiste no prprio valor contido em uma varivel/atributo e Informao a interpretao obtida atravs do dado. Exemplo de atributos de uma classe Veculo: chassi, cor, numeroPlaca, numeroDePortas e combustvel. Exemplo de caractersticas de uma classe Pacientes: nome, tipo sanguneo, telefone e cirurgias realizadas. Exemplo de variveis: valorDigitado (entrada de um usurio) e um contador (utilizado para manter o controle de um lao de repetio). Exemplo de dados: sexo = m, idade = 16, nome = Rafael. Exemplo de informao: Se uma pessoa for do sexo feminino necessrio se apresentar ao exrcito If( pessoa.sexo == m){ pessoa.apresentarAoExercito(); } Uma pessoa com menos de 18 anos no pode entrar na boate. If(pessoa.idade < 18){ chamarPolicia(); }

2- Expresse sistematicamente o desencadeamento referente Metodologia Linear, Metodologia Modular, Metodologia de Estrutura de Dados e Metodologia Orientada a Eventos. R: Em Metodologia Linear, os cdigos so desenvolvidos de forma monoltica, ou seja, num mesmo bloco Esta metodologia se caracterizava pelo uso do go to, o que tornava o cdigo macarrnico e de difcil entendimento para o programador. Em Metodologia Modular, utilizada a tcnica de diviso do cdigo em mdulos, onde cada mdulo realizava uma tarefa prpria da caracterstica analisada para o mesmo. Porm, cada mdulo ainda era linear, o que mantinha o problema do cdigo espaguete. Em Metodologia de Estrutura de Dados, usa-se a tcnica Dividir para conquistar na construo do cdigo, atravs do uso de funes, procedimentos e arquivos de cdigo interligados, o que torna o cdigo estruturado e mais fcil de manipular, debuggar e corrigir erros. Em Metodologia Orientada a Eventos, utilizada a tcnica de programao em um lao de repetio que recebe informao repetidamente, disparando uma funo de resposta de acordo com a informao. Esta metodologia muito utilizada em sistemas de interface com usurio, pois estas no possuem um sequencia sncrona de execuo, ou seja, sofre vrias mudanas de acordo com o usurio a que est submetido.

3- O que Orientao a Objetos? Porque utilizar esta metodologia e quais so seus principais tpicos/caractersticas? R: Em Orientao a Objetos, utilizada a tcnica de programao que consiste na interpretao do problema real a ser resolvido e na modelagem via linguagem de programao, das entidades encontradas na anlise realizada de forma mais fiel quanto possvel, tendo assim, uma representao virtual no software do modelo real. A Orientao a Objetos consiste na modelagem de uma ou mais entidades do problema real por meio de classes, que so formas para os objetos que sero utilizados no programa. Estes objetos possuem atributos e mtodos que definem o comportamento do mesmo. Em OO, so caractersticas fundamentais: Polimorfismo, Herana e Encapsulamento. Exemplo de modelagem de uma classe em Orientao a Objetos: Retngulo base: float

- altura: float; + setBase( float) : void + getBase() : float + setAltura( float) : void + getAltura() : float + calcularArea():float

4- Diferencie Classe de Superclasse. R: Classe uma entidade que modela um objeto do mundo real em um problema via software, contendo seus atributos e aes possveis a serem executadas por esta entidade. Superclasse uma classe de nvel superior que engloba em sua definio todas as caractersticas contidas na definio de outra classe. Este fato leva ao conceito de herana de classes. Uma superclasse definida e uma classe pode herdar todas as caractersticas inerentes da superclasse. Cliente cpf : String : void

Superclasse

- nome: String + Depositar(float) + Sacar(float): void

ClienteEspecial - creditoEspecialConcedido: float + solicitarAtendimentoEspecial(): void Subclasse + solicitarCredito(float) :void + solicitarEntregaDocumentos(): void

5- Explique e diferencie Objeto, instncia e referncia. R: Objeto a unidade fundamental do paradigma orientado a objetos. Os objetos possuem atributos e mtodos associados que os identificam e diferenciam da definio de outros objetos. Ento, objetos representam uma entidade de um domnio de interesse do problema sob anlise no domnio da soluo, ou seja, do cdigo fonte. Em termos de cdigo, um objeto criado quando uma Referncia definida. Referncia um nome dado a um objeto que o identifica em todo o contexto do cdigo. Uma instncia um elemento que representa a criao de um novo objeto e ocorre no exato momento em que o construtor de uma classe invocado, neste instante o objeto tem os seus atributos definidos setados. Exemplo de Objeto, instncia e referncia: Public static main(String args){ Pessoa p; Carro c; p = new Pessoa(); }

6- O que Encapsulamento? D um exemplo. R: O Encapsulamento consiste em privar os dados contidos nas propriedades de uma classe, ou seja, permite a proteo ao cdigo de acessos indevidos e/ou possveis erros de programao. Alm disso, o encapsulamento permite que o programador que utilizar uma determinada classe encapsulada no tenha que conhecer como o seu funcionamento interno. Class Pessoa{ Private String nome; Private int idade; Public void setIdade( int _idade){ If( _idade > 0 ){ this.idade = _idade; } else{ System.out.println(Idade invalida); } } }

7- O que Herana? D um exemplo. R: uma forma de compartilhamento de atributos e mtodos entre superclasses e subclasses onde as subclasses herdam as caractersticas de suas superclasses, ou seja, seus atributos e mtodos. Exemplo de Herana:

8- O que Polimorfismo? D um Exemplo. R: O Polimorfismo permite que duas ou mais classes derivadas de uma mesma superclasse invoquem mtodos que tm a mesma identificao mas comportamentos distintos, especializados para cada classe derivada. Por exemplo, os mtodos toString definidos posteriormente nas classes PessoaFisica e PessoaJuridica.

Resultado obtido invocando o mtodo toString() da classe PessoaFisica.

Resultado obtido invocando o mtodo toString() da classe PessoaJuridica. Ambas as classes PessoaFisica e PessoaJuridica herdam da classe

PessoaEncapsulada.

9- Diferencie procedimento de mtodo. R: Mtodos uma sequencia de comandos que retornam um resultado e Procedimento uma sequencia de comandos que NO retornam um resultado. Exemplo de mtodo: int calcularAreaQuadrado(){ return this.getBaseQuadrado() * this.getAlturaQuadrado(); } Exemplo de procedimento: void setNome( String _nome){ this.nome = _nome; }

10-Modele um diagrama de classes em UML para representar os conceitos de Pessoa, Pessoa Fsica e Pessoa Jurdica. Pessoa nome : String

- dataNascimento : Data - idade : int - email : String + setNome(String) : void + getNome() : String + setDataNascimento(Data) : void + getDataNascimento() : Data + setIdade(int) : void + setEmail(String) : void + getEmail() : String + calcularIdade() : int + toString() : String

PessoaFsica cpf : String sexo : char peso : float altura : float etnia : String

+ setAltura(float) : void + getAltura() : float + setEtnia(String) : void + getEtnia() : String + toString() : String

+ setCpf(String) : void + getCpf() : String + setSexo(char) : void + getSexo() : char + setPeso(float) : void + getPeso() : float

PessoaJurdica cnpj : String

- faturamento : float + setCnpj(String) : void + getCnpj() : String + setFaturamento(float) : void + getFaturamento() : float + toString() : String

Implemente em Java as classes Pessoa, Pessoa Fsica e Pessoa Jurdica. R: Pessoa

public class PessoaEncapsulada { private String nome; private String enderecoEletronico; private String dataNascimento; private int idade; public void setNome(String _nome){ this.nome = _nome; } public String getNome(){ return this.nome; } public void setEnderecoEletronico(String _email){ if( _email.contains("@")){ this.enderecoEletronico = _email; } else{ System.out.println("Email invlido"); } } public String getEnderecoEletronico(){ return this.enderecoEletronico;

} public void setDataNascimento(String _data){ this.dataNascimento = _data; } public String getDataNascimento(){ return this.dataNascimento; } public void setIdade(int _idade){ if(_idade < 0){ this.idade = _idade; } else{ System.out.println("Idade invlida"); } } public int getIdade(){ return this.idade; } public PessoaEncapsulada(){ this.nome = "-"; this.enderecoEletronico = "-"; this.dataNascimento = "-"; this.idade = 0; } public PessoaEncapsulada(String _nome, String _email, String _data, int _idade){

this.nome = _nome; this.enderecoEletronico = _email; this.dataNascimento = _data; this.idade = _idade; } public PessoaEncapsulada(String _nome){ this.nome = _nome; this.enderecoEletronico = "-"; this.dataNascimento = "-"; this.idade = 0; } public PessoaEncapsulada(String _nome, int _idade){ this.nome = _nome; this.enderecoEletronico = "-"; this.dataNascimento = "-"; this.idade = _idade; } public String toString(){ String str = "NOME: " + this.getNome() + "\nIDADE: " + this.getIdade()+ "\nDATA DE NASCIMENTO: " + this.getDataNascimento()+ "\nEMAIL: " + this.getEnderecoEletronico(); return str; } } PessoaFisica

public class PessoaFisica extends PessoaEncapsulada{ private String cpf; private char sexo; private float peso; private float altura; private String etnia; public void setCpf(String _cpf){ if( _cpf.length() == 11){ this.cpf = _cpf; } else{ System.out.println("CPF invalido"); } } public String getCpf(){ return this.cpf; } public void setSexo(char _sexo){ if( _sexo == 'm' || _sexo == 'M' || _sexo == 'f' || _sexo == 'F'){ this.sexo = _sexo; } else{ System.out.println("Sexo invalido"); } }

public char getSexo(){ return this.sexo; } public void setPeso(float _peso){ if( _peso > 0){ this.peso = _peso; } else{ System.out.println("Peso invalido"); } } public float getPeso(){ return this.peso; } public void setAltura(float _altura){ if(_altura > 0){ this.altura = _altura; } else{ System.out.println("Altura invalida"); } } public float getAltura(){ return this.altura; } public void setEtnia(String _etnia){

this.etnia = _etnia; } public String getEtnia(){ return this.etnia; } public PessoaFisica(){ super(); this.setCpf("00000000000"); this.setSexo('-'); this.setPeso(0); this.setAltura(0); this.setEtnia("Indefinida"); } public PessoaFisica( String _nome, String _email, String _data, int _idade, String _cpf, char _sexo, float _peso, float _altura, String _etnia) { super( _nome, _email, _data, _idade); this.setCpf( _cpf); this.setSexo( _sexo); this.setPeso( _peso); this.setAltura( _altura); this.setEtnia( _etnia); } public PessoaFisica(String _nome){ super( _nome); this.setCpf("00000000000");

this.setSexo('-'); this.setPeso(0); this.setAltura(0); this.setEtnia("Indefinida"); } public String toString(){ String str = "NOME: " + this.getNome() + "\nIDADE: " + this.getIdade()+ "\nDATA DE NASCIMENTO: " + this.getDataNascimento()+ "\nEMAIL: " + this.getEnderecoEletronico(); str += "\nCPF: " + this.getCpf() + "\nSexo: " + Character.toString(this.getSexo()) + "\nPeso: " + Float.toString(this.getPeso()) + "\nAltura: " + Float.toString(this.getAltura()) + "\nEtnia: " + this.getEtnia(); return str; } }

PessoaJuridica

public class PessoaJuridica extends PessoaEncapsulada { private String cnpj; private float faturamento; public void setCnpj( String _cnpj){ if( _cnpj.length() == 12){ this.cnpj = _cnpj; } else{ System.out.println("CNPJ invlido"); }

} public String getCnpj(){ return this.cnpj; } public void setFaturamento( float _faturamento){ this.faturamento = _faturamento; } public float getFaturamento(){ return this.faturamento; } public PessoaJuridica(){ super(); this.setCnpj("000000000000"); this.setFaturamento(0); } public PessoaJuridica( String _nome, String _email, String _data, int _idade, String _cnpj, float _faturamento){ super( _nome, _email, _data, _idade); this.setCnpj(_cnpj); this.setFaturamento(_faturamento); } public PessoaJuridica (String _nome){ super( _nome); this.setCnpj("000000000000"); this.setFaturamento(0); }

public String toString(){ String str = "NOME: " + this.getNome() + "\nIDADE: " + this.getIdade()+ "\nDATA DE NASCIMENTO: " + this.getDataNascimento()+ "\nEMAIL: " + this.getEnderecoEletronico(); str += "\nCNPJ: " + this.getCnpj() + "\nFaturamento: " + Float.toString(this.getFaturamento()); return str; } }

ListaLPOO

import javax.swing.*; public class ProjetoListaDeLPOO { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub PessoaEncapsulada p1 = new PessoaEncapsulada("Rafael","rafaelleite@saude.es.gov.br","26/01/1991",21 ); JOptionPane.showMessageDialog(null, p1.toString()); PessoaEncapsulada p2 = new PessoaEncapsulada("Maria"); JOptionPane.showMessageDialog(null, p2.toString()); PessoaFisica p3 = new PessoaFisica("Rafael","rafaelleite@saude.es.gov.br","26/01/1991",21,"1346 4285731",'M',75,170,"Negro"); JOptionPane.showMessageDialog(null, p3.toString()); PessoaJuridica p4 = new PessoaJuridica("SESA","sesa@saude.es.gov.br","29/03/2012",1,"123456789 012",123456789); JOptionPane.showMessageDialog(null, p4.toString()); } }

Anda mungkin juga menyukai