Provas UNIP Programação Orientada a Obejetos
Por: Sara • 5/9/2018 • 6.114 Palavras (25 Páginas) • 699 Visualizações
...
as classes na hierarquia de classes recebendo serviços de baixo nível como herança. II – A classe Object é classe base fundamental de todas as classes, ela é a raiz da hierarquia de pos. III – Qualquer método da classe Object pode ser sobrescrito nas subclasses ulizando o modificador virtual.
Podemos afirmar que: a) Apenas a afirmava I está correta. b) Apenas a afirmava II está correta. c) Apenas a afirmava III está correta. d) As afirmavas I e II estão corretas. e) As afirmavas I e III estão corretas
P) Os erros gerados durante a execução de um programa implementado na linguagem C# devem ser controlados com uma estrutura, que pode combinar o uso de qual dos seguintes blocos de tratamento de exceção, apresentados a seguir: a) No mínimo com try e finally b) No mínimo com try e catch ou try e finally c) Obrigatoriamente try, catch e finally d) No mínimo com try e catch, ou try e finally ou try, cath e finally e) No mínimo com try e catch
P) Entre as frases abaixo, coloque a letra “O” para vantagem dos Programas Orientados a Objetos e a letra “E” para as vantagens dos Programas Estruturados:
( E ) Em termos de velocidade de processamento tem um desempenho superior. ( E ) O aprendizado do paradigma bem mais fácil no início. ( O ) Uma distribuição de código um pouco mais lógica, funcional e melhor encapsulada, tornando a manutenção e a extensão do código mais fácil e com menos riscos de inserção de erros. ( O ) É mais fácil gerenciar o desenvolvimento deste po de soware em grandes equipes, parndo de uma especificação UML antes de iniciar o desenvolvimento do soware em si. ( E ) Sem a necessidade de ter uma base conceitual bem formado, bastante saber poucos comandos e para fazer um programa simples. a) E – E – O – O – E b) O – O – O – O – O c) E – E – E – O – E d) O – E – O – O – E e) E – O – E – E – O
P) Dadas as declarações abaixo: 1) int[] a = new int[5]; 2) float b = new float[3]; 3) char[] c = new char [] {‘a’, ‘b’, ‘c’, ‘d’, ‘e’}; 4) double d = double[]; 5) String e[4]; Quais criarão um vetor? a) 1 e 3 b) 2 e 4 c) 3 e 5 d) 1 e 2 e) 2 e 3
P) Leia a definição a seguir: “É o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que tem a mesma idenficação, mas comportamentos disntos, especializados para cada classe, derivada, usando para tanto uma referência a um objeto do po da superclasse” Qual o conceito definido no trecho acima? a) Construtor b) Herança c) Polimorfismo d) Encapsulamento e) Abstração
P) Dos conjuntos de ferramentas fornecidos pelo C# qual não é ulizado para a programação de laços? a) for
b) foreach c) while d) do while e) switch case
P) Segundo a Microso quais os pilares da programação orientada a objetos? a) Polimorfismo, herança, associação b) Abstração, herança, encapsulamento c) Herança, polimorfismo, encapsulamento d) Herança, abstração, instanciação e) Classe, atributo e método.
P) Leia as definições de laços a seguir: I – Possui três componentes para controle de suas interações (voltas de laço) sendo que o primeiro comportamento refere-se à declaração da variável de controle do laço. O segundo componente é uma expressão lógica que tem condição de encerramento a cada interação e o terceiro componente é o controle do laço que determinará o passo de cada interação. II – É usado quando não sabemos o número de vezes que devemos executar um bloco de código, mas apenas a condição que deve ser sasfeita para executar a condição é uma expressão booleana que deverá ser verdadeira para garanr pelo menos a primeira ou a próxima interação caso contrário o bloco não será executado. III – É usado para quando queremos que o bloco do código seja executado pelo menos uma vez. A condição sasfeita se encontra no fim do bloco do código e não no começo. a) I-for, II-forech, III-switch b) I-for, II-while. III-switch c) I-foreach. II-do while. III-while d) I-for, II-while, III-do while e) I-for, II-do while, III-while
P) O programa a seguir apresenta um erro, mas todos do mesmo po:
namespace ProvaHr { public class ContaCorrente {
private int numero; private String cliente; private float saldo; private static int ultimoNumero = 1000; public ContaCorrente(String cliente) { this.numero = ++ultimoNumero; this.cliente = cliente; } public void depositar(float valor) { saldo += valor; } public void sacar(float valor) { if (valor < saldo) saldo -= valor; else Console.WriteLine("Saldo insuficiente"); } } public class ContaEspecial : ContaCorrente { public double limite; public ContaEspecial(String cliente, double limite) : base(cliente) { this.limite = limite; } public void sacar(float valor) { if (valor < (saldo + limite)) saldo -= valor; else Console.WriteLine("Saldo insuficiente"); } } class Program { static void Main(string[] args) { ContaCorrente c1 = new ContaCorrente("Maria"); c1.depositar(100); ContaEspecial c3 = new ContaEspecial("Paula", 500.00); c3.sacar(50); } } }
Considere as possíveis soluções para o erro, sem comprometer a segurança:
I – Colocar o construtor padrão nas classes ContaCorrente e ContaEspecial II – Alterar a privacidade dos atributos número, cliente e saldo de private para proteced II – Alterar a privacidade de todos os métodos depositar e sacar para private a) Apenas a solução I corrige o programa b) Apenas a solução II corrige o programa c) Apenas a solução III corrige o programa d) Mais de uma solução corrige o programa e) Nenhuma das soluções corrige o programa P) Dado o código abaixo com as seguintes classes: A, B e Program:
class A {
public override String ToString()
{
return “4”;
}
} class B : A { public override String ToString() { return base.ToString() +3; } } class Program { static void Main(string[] args) { Console.WriteLine(new B()); } } Qual o resultado será apresentado como saída de execução do programa Program? a) O programa compila e
...