Logo Passei Direto
Buscar

Programação Orientada a Objetos PROVA II

User badge image
Amanda Rocha

em

Ferramentas de estudo

Questões resolvidas

Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada 'derives'. ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA:


A V - V - V - F.
B F - F - V - V.
C F - V - F - V.
D V - F - F - V.

O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O polimorfismo permite que outras classes representem o comportamento de classes que elas referenciam. Com relação às classes criadas no código-fonte, analise as sentenças a seguir: (1)public class Veiculo { (2) public void parar(){} (3)} (4) (5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println('Parando a motocicleta!!'); (8) } (9)} (10) (11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println('Parando o veículo utilitário!!'); (15) } (16)} (17) (18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)} I- Apesar do código-fonte não lidar com classes abstratas, existe o polimorfismo implementado entre as classes do exemplo. II- Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe Veiculo nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo (Motocicleta e Suv). III- A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando a motocicleta!!) e depois (Parando o veículo utilitário!!). IV- As classes Motocicleta e Suv referenciam o comportamento da classe Veiculo, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando o veículo utilitário!!) e depois (Parando a motocicleta!!). Assinale a alternativa CORRETA:

(1)public class Veiculo { (2) public void parar(){} (3)}
(5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println('Parando a motocicleta!!'); (8) } (9)}
(11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println('Parando o veículo utilitário!!'); (15) } (16)}
(18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)}
A As sentenças II e IV estão corretas.
B As sentenças I e II estão corretas.
C As sentenças I e III estão corretas.
D As sentenças III e IV estão corretas.

A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes conjuntos de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para as sentenças verdadeiras e F para as falsas: public class Bicicleta{ private char tamanhoQuadro; private int numeroMarchas; private char tamanhoRoda; public void movimentar(){ System.out.println('O objeto bike está em movimento!!'); } } ( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; } ( ) public Bicicleta(int numeroMar


( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; }
( ) public Bicicleta(int numeroMar

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada 'derives'. ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA:


A V - V - V - F.
B F - F - V - V.
C F - V - F - V.
D V - F - F - V.

O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O polimorfismo permite que outras classes representem o comportamento de classes que elas referenciam. Com relação às classes criadas no código-fonte, analise as sentenças a seguir: (1)public class Veiculo { (2) public void parar(){} (3)} (4) (5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println('Parando a motocicleta!!'); (8) } (9)} (10) (11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println('Parando o veículo utilitário!!'); (15) } (16)} (17) (18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)} I- Apesar do código-fonte não lidar com classes abstratas, existe o polimorfismo implementado entre as classes do exemplo. II- Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe Veiculo nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo (Motocicleta e Suv). III- A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando a motocicleta!!) e depois (Parando o veículo utilitário!!). IV- As classes Motocicleta e Suv referenciam o comportamento da classe Veiculo, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando o veículo utilitário!!) e depois (Parando a motocicleta!!). Assinale a alternativa CORRETA:

(1)public class Veiculo { (2) public void parar(){} (3)}
(5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println('Parando a motocicleta!!'); (8) } (9)}
(11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println('Parando o veículo utilitário!!'); (15) } (16)}
(18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)}
A As sentenças II e IV estão corretas.
B As sentenças I e II estão corretas.
C As sentenças I e III estão corretas.
D As sentenças III e IV estão corretas.

A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes conjuntos de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para as sentenças verdadeiras e F para as falsas: public class Bicicleta{ private char tamanhoQuadro; private int numeroMarchas; private char tamanhoRoda; public void movimentar(){ System.out.println('O objeto bike está em movimento!!'); } } ( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; } ( ) public Bicicleta(int numeroMar


( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; }
( ) public Bicicleta(int numeroMar

Prévia do material em texto

1A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na definição de relacionamentos de herança e, consequente, reutilização e extensão de estado e comportamento. Com relação às classes abstratas da linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato. ( ) Uma classe abstrata não pode possuir métodos concretos. ( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteração em suas subclasses. ( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos. Agora, assinale a alternativa que apresenta a sequência CORRETA:
A
V - F - F - V.
B
V - V - F - F.
C
V - V - F - V.
D
F - F - V - F.
2Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e comportamentos já implementados em outras classes sem a necessidade de realizar a cópia de código-fonte. Com relação a esse conceito, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super. ( ) A implementação de herança múltipla em Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives". ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA:
A
V - V - V - F.
B
F - F - V - V.
C
F - V - F - V.
D
V - F - F - V.
3O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O polimorfismo permite que outras classes representem o comportamento de classes que elas referenciam. Com relação às classes criadas no código-fonte, analise as sentenças a seguir: (1)public class Veiculo { (2) public void parar(){} (3)} (4) (5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println("Parando a motocicleta!!"); (8) } (9)} (10) (11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println("Parando o veículo utilitário!!"); (15) } (16)} (17) (18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)} I- Apesar do código-fonte não lidar com classes abstratas, existe o polimorfismo implementado entre as classes do exemplo. II- Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe Veiculo nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo (Motocicleta e Suv). III- A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando a motocicleta!!) e depois (Parando o veículo utilitário!!). IV- As classes Motocicleta e Suv referenciam o comportamento da classe Veiculo, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando o veículo utilitário!!) e depois (Parando a motocicleta!!). Assinale a alternativa CORRETA:
A
As sentenças II e IV estão corretas.
B
As sentenças I e II estão corretas.
C
As sentenças I e III estão corretas.
D
As sentenças III e IV estão corretas.
4A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade dentro do sistema, o que faz com que a sua correção, em caso de erros ou a manutenção em caso de evolução, seja simplificada. No que se refere à coesão de uma classe, assinale a alternativa CORRETA:
A
A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe.
B
Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private.
C
Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui.
D
Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
5A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes conjuntos de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta, e a correta sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, classifique V para as sentenças verdadeiras e F para as falsas: public class Bicicleta{ private char tamanhoQuadro; private int numeroMarchas; private char tamanhoRoda; public void movimentar(){ System.out.println("O objeto bike está em movimento!!"); } } ( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tQuadro, int nMarchas){ this.tamanhoQuadro = tQuadro; this.numeroMarchas = nMarchas; } ( ) public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ this.numeroMarchas = numeroMarchas; this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char roda){ this.tamanhoRoda = roda; } ( ) public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(char tamanhoQuadro, int numeroMarchas){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } ( ) public Bicicleta(){ this.numeroMarchas = numeroMarchas; } public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ } Assinale a alternativa que apresenta a sequência CORRETA:
A
V - V - F - F.
B
F - V - V - F.
C
F - V - F - V.
D
V - F - F - V.
6A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser colocados na frente de classes, atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA:
A
O modificador public não pode ser usado na frente de atributos.
B
O modificador private permite o acesso somente dentro do mesmo pacote.
C
Um método com o modificador public não faz sentido em uma classe com o modificador default.
D
O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
7
A própria API do Java implementa a herança em diversos locais. Nas APIs descritas a seguir, assinale a alternativa INCORRETA:
A
MessageFormat, ChoiceFormat e SimpleDateFormat.
B
Format, NumberFormat e SimpleDateFormat.
C
TextFormat, MessageFormat e ChoiceFormat.
D
NumberFormat, DateFormat e DecimalFormat.
8A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos pilares da programação orientada a objetos e pode, quando bem modelada e utilizada, diminuir o esforço na manutenção do código-fonte. Considerando o relacionamento de herança entre duas ou mais classes, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A herança possibilita o compartilhamento de atributos entre uma superclasse subclasse, limitando esse compartilhamento para os atributos indicados com o modificador "private". ( ) A palavra-chave extends define que uma classe está estendendo outra, que em outras palavras significa o uso de herança na linguagem de programação Java. ( ) A herança possibilita o compartilhamento de métodos entre uma superclasse subclasse, limitando esse compartilhamento para alguns tipos especiais de métodos. ( ) A herança de métodos é possível, porém os métodos construtores podem ser reescritos através do polimorfismo. Assinale a alternativa que apresenta a sequência CORRETA:
A
F - F - V - V.
B
V - V - V - F.
C
V - F - F - V.
DF - V - F - F.
9Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações entre si, e duas maneiras de se estabelecer uma relação entre objetos são através da associação e da herança que devem ser utilizados na solução de problemas diferentes. Sobre esses relacionamentos, analise as sentenças a seguir: I- Quando um relacionamento de associação é estabelecido entre duas ou mais classes, significa que os objetos dessas classes estão relacionados, de alguma maneira, no mundo real. II- Nos relacionamentos de associação, o conceito de superclasse é utilizado de maneira diferente do que nos relacionamentos de herança. III- Os relacionamentos do tipo "associação" são implementados na linguagem de programação Java através das palavras reservadas "associate to". IV- Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma herança. Assinale a alternativa CORRETA:
A
As sentenças I e IV estão corretas.
B
As sentenças II e III estão corretas.
C
As sentenças II e IV estão corretas.
D
As sentenças I e III estão corretas.
10Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de programação orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo implementa a interface FormaGeometrica. Agora, assinale a alternativa CORRETA:
A
Somente a sentença II está correta.
B
As sentenças II e III estão corretas.
C
Somente a sentença I está correta.
D
As sentenças I e II estão corretas.

Mais conteúdos dessa disciplina