Conceitos de Programação Orientada a Objetos
Classificado em Computação
Escrito em em português com um tamanho de 2,86 KB.
1. O que define a estrutura de um objeto na Programação Orientada a Objetos (POO)?
A classe define a estrutura de um objeto.
2. O que permite que um objeto se comunique com outro?
Os métodos permitem a comunicação entre objetos.
3. Quais são três estruturas de dados de sequência principais?
As três principais estruturas de dados de sequência são: Listas, Filas e Pilhas.
4. Quais são os quatro princípios da POO?
Os quatro princípios da POO são: Abstração, Encapsulamento, Herança e Polimorfismo.
5. Qual a diferença entre Agregação e Composição?
Agregação: Um objeto pode fazer parte de outro, mas existe de forma independente.
Composição: É uma forma forte de agregação. Um objeto depende de outro para existir; ele não existe de forma independente.
6. O que é um delegate e como declará-lo?
Um delegate é um tipo de referência que encapsula um método nomeado ou anônimo. Delegates são semelhantes aos ponteiros de função em C++, mas são fortemente tipados e seguros.
Exemplo de declaração:
delegate void Del(string str);
static void Notify(string name)
{
Console.WriteLine("Notification received for: {0}", name);
}
7. O que é uma Struct?
Um tipo struct é um tipo de valor normalmente usado para encapsular pequenos grupos de variáveis relacionadas, como as coordenadas de um retângulo ou as características de um item em um inventário.
8. O que é polimorfismo?
O polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Isso possibilita tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato).
É a habilidade de variáveis ou funções terem "mais de um tipo". Funções são ditas polimórficas quando seus operandos podem ter mais de um tipo.
9. Qual a diferença entre private, protected e public?
Public: O modificador public
torna a classe ou membro visível para todas as outras classes, subclasses e pacotes do projeto.
Private: O modificador private
torna o atributo visível apenas para a classe em que ele se encontra.
Protected: O modificador protected
torna o atributo visível para todas as outras classes e subclasses que pertencem ao mesmo pacote. A principal diferença em relação ao acesso *default* (sem modificador) é que apenas as classes do mesmo pacote têm acesso ao membro. O pacote da subclasse, se for diferente, não tem acesso.