Linguagens de Programação Flashcards
O que são interfaces em OOP?
Pode-se dizer, a grosso modo, que uma interface é um contrato que quando assumido por uma classe deve ser implementado.
Para que servem as interfaces codificadas em Java?
Para “obrigar” a um determinado grupo de classes a ter métodos ou propriedades comuns em um determinado contexto, contudo os métodos podem ser implementados em cada classe de uma maneira diferente.
Quais são os modificadores de acesso de métodos e atributos em Java?
- private
- default
- protected
- public
Qual o nivel de restrição de um modificador de acesso private em uma classe?
Somente a propria classe pode acessar os atributos ou meétodos do tipo private.
Qual o nivel de restrição de um modificador de acesso default em uma classe?
As classes que pertecem ao mesmo pacote podem acessar esses atributos ou métodos
Qual o nivel de restrição de um modificador de acesso protected em uma classe?
As classes filhas (idependente do pacote) e calsses do mesmo pacote podem acessar métodos e atributos protected
Qual o nivel de restrição de um modificador de acesso public em uma classe?
Métods e atributos que podem ser acessados por qualquer classe
Qual a palavra reservada usada em Java para que o tratamento de exceção seja responsabilidade do método chamador?
throws
Como resolver heranças multiplas de classe em Java?
O Java não pode estender multiplas classes por natureza, ou seja, uma classe so pode ser herdada de uma classe mãe e não de mais de uma classe. Para resolver heranças multiplas em Java é necessário criar herança multipla de interfaces. Uma interface pode herdar mais de uma interface.
O que é polimorfismo?
É a capacidade de uma classe assumir diferentes formas, permitindo que um objeto seja tratado como uma instancia da sua classe base ou de qualquer uma das suas subclasses
Quais são as fases de geração de um código executável em Java e onde elas são executadas?
- Compilação: executada no compilador java (javac)
- Interpretação: executada na Máquina Virtual Java (JVM)
Qual é a entrada e o produto do processo de compilação em Java?
- Entrada: código fonte Java
- Produto: bytecode no formato “.class”
Qual a ordem de inicialização de blocos em um código Java?
- Bloco estático (apenas uma vez, na instanciação da classe)
- Bloco de inicialização
- Construto da Classe
Essa ordem se repete também para as classes filhas em caso de heraças. Sempre seguindo essa ordem na primeiro na classe pai e depois nas subclasses (ou filhas).
O que significa que uma classe esteja aberta para extensão, mas fechada para modificação?
É o Open/Closed Principle (OCP) do SOLID que preserva a impelmentação das classes de mais alto nível, não permitindo modificações mas possibilitando que as sublasses estendam seus métodos
Qual princípio SOLID garante que uma classe tenha apenas uma razão para mudar?
Single Responsibility Principle (SRP)