Introdução à POO com Java
40 Questions
6 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual das seguintes características NÃO é válida para uma interface em Java?

  • As interfaces podem conter métodos estáticos.
  • Uma interface pode conter métodos por defeito (com implementação por omissão).
  • Uma interface pode herdar de múltiplas interfaces.
  • Uma interface pode conter atributos que não sejam estáticos e finais. (correct)
  • Qual é o objetivo principal de uma interface em Java?

  • Criar um contrato para classes que a implementam. (correct)
  • Criar instâncias concretas de objetos.
  • Implementar herança múltipla de classes.
  • Definir a implementação de métodos específicos.
  • Qual das seguintes afirmações sobre a herança de interfaces em Java é verdadeira?

  • Uma classe só pode herdar de múltiplas interfaces.
  • Uma interface pode herdar de múltiplas interfaces. (correct)
  • Uma classe só pode implementar uma única interface.
  • Uma interface só pode herdar de uma única interface.
  • Qual é o tipo de acesso padrão para métodos em uma interface?

    <p>Público (B)</p> Signup and view all the answers

    Qual das seguintes classes implementa a interface IAutomovel?

    <p>Todas as classes acima. (B)</p> Signup and view all the answers

    Qual das seguintes afirmações sobre métodos em uma interface em Java é verdadeira?

    <p>Os métodos em uma interface são sempre abstratos. (C), Os métodos em uma interface devem ser sempre <code>public</code>. (E)</p> Signup and view all the answers

    Qual é a principal função de um Tipo de Dados Abstrato (ADT)?

    <p>Definir o comportamento de uma estrutura de dados através da especificação dos seus métodos e atributos. (C)</p> Signup and view all the answers

    Qual é o objetivo principal das interfaces em Java?

    <p>Definir um contrato entre classes, garantindo que certas funcionalidades serão implementadas. (B)</p> Signup and view all the answers

    Qual é a principal diferença entre uma classe e uma interface em Java?

    <p>As classes definem atributos e comportamento, enquanto as interfaces apenas descrevem o comportamento a ser implementado. (C)</p> Signup and view all the answers

    Qual dessas afirmações é VERDADEIRA sobre interfaces em Java?

    <p>As classes que implementam uma interface são obrigadas a implementar todos os seus métodos. (C), Uma interface pode herdar de várias outras interfaces. (D)</p> Signup and view all the answers

    Qual é a relação entre ADT e interfaces em Java?

    <p>Interfaces fornecem uma forma de definir os métodos e operações de um ADT, mas não sua implementação. (D)</p> Signup and view all the answers

    O que acontece quando uma classe implementa uma interface, mas não implementa todos os seus métodos?

    <p>A classe se torna abstrata e precisa ser concretizada por outra classe que implemente os métodos restantes. (B)</p> Signup and view all the answers

    Qual é a principal vantagem de usar interfaces em Java?

    <p>Facilita a reutilização de código, pois diferentes classes podem implementar a mesma interface e compartilhar o mesmo comportamento. (C), Fornece um mecanismo para a herança múltipla, permitindo que uma classe herde diferentes comportamentos de várias interfaces. (D)</p> Signup and view all the answers

    Qual é a diferença entre uma classe abstrata e uma interface em Java?

    <p>As classes abstratas podem conter métodos concretos, enquanto as interfaces só podem ter métodos abstratos. (A), As classes abstratas podem ter atributos, enquanto as interfaces não podem ter atributos. (D), As interfaces não podem conter construtores, enquanto as classes abstratas podem ter seus próprios contrutores. (E)</p> Signup and view all the answers

    Com relação à herança em Java, qual das seguintes afirmações é verdadeira?

    <p>Subclasses podem usar o construtor da classe pai usando a palavra-chave <code>super</code>. (D)</p> Signup and view all the answers

    Qual é o principal objetivo da primeira instrução dentro do corpo de um construtor de uma subclasse em Java?

    <p>Chamar o construtor da classe pai para inicializar os atributos herdados. (C)</p> Signup and view all the answers

    Em qual das progressões mencionadas, cada termo resulta da adição dos dois termos imediatamente anteriores?

    <p>Progressão de Fibonacci (C)</p> Signup and view all the answers

    Qual das seguintes situações ocorre quando nenhum construtor é explicitamente declarado em uma classe em Java?

    <p>O compilador cria automaticamente um construtor por padrão, que inicializa os atributos com valores padrão. (D)</p> Signup and view all the answers

    Qual é o conceito fundamental por trás da técnica de 'chamada de um outro construtor da mesma classe'?

    <p>Evitar a reescrita de código duplicado em diferentes construtores da mesma classe. (D)</p> Signup and view all the answers

    Quando um construtor da classe base não é explicitamente invocado em um construtor de uma subclasse, o que ocorre?

    <p>O construtor por padrão da classe base é chamado automaticamente. (D)</p> Signup and view all the answers

    Qual é a principal vantagem da utilização de construtores em Java?

    <p>Permitir que os atributos de uma classe sejam inicializados com segurança e consistência. (D)</p> Signup and view all the answers

    Qual das seguintes situações NÃO é considerada uma exceção em Java?

    <p>Acesso a um método de uma classe que foi extensivamente testado e funciona perfeitamente. (B)</p> Signup and view all the answers

    O que acontece se uma exceção não for capturada em Java?

    <p>O programa interrompe a execução abruptamente e gera uma mensagem de erro. (A)</p> Signup and view all the answers

    Qual é o tipo de objeto que representa uma exceção em Java?

    <p>Uma instância de uma subclasse de <code>Exception</code>. (C)</p> Signup and view all the answers

    Quais dos seguintes são considerados erros críticos em Java, geralmente não capturáveis?

    <p>Falhas de memória durante a execução. (D)</p> Signup and view all the answers

    Qual das alternativas NÃO é uma causa comum de exceções?

    <p>Falhas de hardware. (D)</p> Signup and view all the answers

    Em relação ao lançamento de exceções em Java, qual das seguintes afirmações é verdadeira?

    <p>O comando <code>throw</code> é usado para criar um objeto de exceção e lançá-lo. (C)</p> Signup and view all the answers

    O método parseInt da classe Integer em Java tem a assinatura public static int parseInt(String s) throws NumberFormatException;. Quais das seguintes afirmações são verdadeiras sobre essa assinatura?

    <p>Todas as opções acima são verdadeiras. (D)</p> Signup and view all the answers

    Qual é a principal vantagem de se usar classes genéricas em Java?

    <p>Todas as opções acima são vantagens de se usar classes genéricas em Java. (A)</p> Signup and view all the answers

    Com relação a classes genéricas em Java, qual das seguintes afirmações é verdadeira?

    <p>Classes genéricas em Java são equivalentes a templates em C++. (A)</p> Signup and view all the answers

    Qual das seguintes afirmações NÃO é verdadeira em relação a exceções 'checked' em Java?

    <p>Podem ser ignoradas, se necessário. (D)</p> Signup and view all the answers

    Quais das seguintes opções são consideradas vantagens da utilização de classes genéricas em Java?

    <p>Todas as opções acima são vantagens da utilização de classes genéricas em Java. (B)</p> Signup and view all the answers

    Quais das seguintes exceções NÃO são consideradas 'unchecked' em Java?

    <p>ClassNotFoundException (A)</p> Signup and view all the answers

    Qual tipo de exceção é normalmente associado a erros de programação na aplicação Java?

    <p>Exceções 'unchecked' (B)</p> Signup and view all the answers

    A exceção NumberFormatException é lançada quando:

    <p>Uma string não pode ser convertida para um tipo numérico. (B)</p> Signup and view all the answers

    Qual exceção é lançada ao tentar acessar um elemento de um array com índice fora dos limites?

    <p>ArrayIndexOutOfBoundsException (C)</p> Signup and view all the answers

    A exceção NullPointerException ocorre quando:

    <p>Um objeto <code>null</code> é usado em uma operação que espera um objeto válido. (C)</p> Signup and view all the answers

    Qual das seguintes situações NÃO gera uma exceção 'unchecked' em Java?

    <p>Tentativa de abrir um arquivo que não existe. (B)</p> Signup and view all the answers

    Como o tratamento de exceções 'checked' e 'unchecked' difere em Java?

    <p>Exceções 'checked' devem ser tratadas pelo programador, enquanto 'unchecked' podem ser ignoradas. (A)</p> Signup and view all the answers

    Em Java, qual a construção que permite o tratamento de exceções?

    <p>try-catch (C)</p> Signup and view all the answers

    Flashcards

    Interface em Java

    Uma interface define um contrato de métodos que uma classe pode implementar.

    Métodos por defeito

    Métodos em uma interface que têm implementação padrão.

    Atributos de uma interface

    Uma interface pode conter apenas constantes, sem atributos de instância.

    Diferença entre interface e classe

    Interfaces não são instanciáveis e não possuem construtores.

    Signup and view all the flashcards

    Implementação de interface

    Uma classe implementa uma interface usando a palavra-chave 'implements'.

    Signup and view all the flashcards

    Herança de interfaces

    Uma interface pode herdar de várias outras interfaces.

    Signup and view all the flashcards

    Métodos de uma interface

    Todos os métodos em uma interface são abstratos e públicos por omissão.

    Signup and view all the flashcards

    Nome da interface

    Normalmente, o nome de uma interface começa com a letra 'I'.

    Signup and view all the flashcards

    Tipos de Dados Abstratos (ADTs)

    Modelo de estrutura de dados que especifica tipos e operações.

    Signup and view all the flashcards

    Abstração

    Extração das partes essenciais de um sistema.

    Signup and view all the flashcards

    Métodos abstratos

    Métodos declarados em interfaces sem implementação.

    Signup and view all the flashcards

    Classe abstrata

    Classe que não pode ser instanciada e pode ter métodos definidos.

    Signup and view all the flashcards

    API (Interface de Programação)

    Especificação que define como os objetos podem interagir.

    Signup and view all the flashcards

    Protocolos de interação

    Regras que definem como os objetos interagem entre si.

    Signup and view all the flashcards

    Construtores na Herança

    Os construtores nunca são herdados e cada classe deve definir seus próprios construtores.

    Signup and view all the flashcards

    Construtor por defeito

    Quando nenhum construtor é declarado, o compilador gera um construtor por defeito automaticamente.

    Signup and view all the flashcards

    Inicialização de atributos

    Todos os atributos, incluindo os herdados, devem ser inicializados, podendo ser na declaração.

    Signup and view all the flashcards

    Invoca super

    O construtor da classe base deve ser explicitamente invocado com a palavra 'super'.

    Signup and view all the flashcards

    Invocação implícita

    Se o construtor da classe base não é chamado, o construtor por defeito é invocado implicitamente.

    Signup and view all the flashcards

    Progressão Aritmética

    Uma sequência onde cada termo é a soma de uma constante ao termo anterior.

    Signup and view all the flashcards

    Progressão Geométrica

    Uma sequência onde cada termo é o produto de uma constante pelo termo anterior.

    Signup and view all the flashcards

    Progressão Fibonacci

    Uma sequência onde cada termo é a soma dos dois termos anteriores.

    Signup and view all the flashcards

    Lançamento de exceções

    Ação de informar que ocorreu um problema utilizando o comando throw seguido da exceção.

    Signup and view all the flashcards

    Métodos que lançam exceções

    Métodos que podem gerar exceções devem declarar com a cláusula throws na assinatura.

    Signup and view all the flashcards

    Exceções checked e unchecked

    Exceções checked precisam ser tratadas ou declaradas; unchecked não são obrigatórias.

    Signup and view all the flashcards

    Classes Genéricas (generics)

    Classes que podem operar sobre diferentes tipos de dados com parâmetros tipo.

    Signup and view all the flashcards

    Parâmetros tipo

    Tipos de dados que são concretizados no uso de classes genéricas no programa.

    Signup and view all the flashcards

    Exceções

    Eventos inesperados que ocorrem durante a execução do programa.

    Signup and view all the flashcards

    Causas das Exceções

    Causas: dados inválidos, erros de programação, falhas externas.

    Signup and view all the flashcards

    Objeto Exceção

    Uma exceção em Java é um objeto da subclasse de Exception.

    Signup and view all the flashcards

    Captura de Exceções

    Um bloco de código específico que trata a situação inesperada das exceções.

    Signup and view all the flashcards

    Erros Críticos

    Erros mais graves, geralmente não capturáveis, lançados pela JVM.

    Signup and view all the flashcards

    Throwable

    Classe base para todos os erros e exceções em Java.

    Signup and view all the flashcards

    Checked Exceptions

    Exceções que o compilador verifica, exigindo tratamento.

    Signup and view all the flashcards

    Unchecked Exceptions

    Exceções não verificadas, geralmente relacionadas a bugs de programação.

    Signup and view all the flashcards

    NullPointerException

    Exceção causada quando se tenta usar null como um objeto.

    Signup and view all the flashcards

    ArithmeticException

    Exceção lançada em operações aritméticas inválidas, como divisão por zero.

    Signup and view all the flashcards

    ClassCastException

    Exceção gerada ao tentar converter um objeto para uma classe à qual não pertence.

    Signup and view all the flashcards

    IndexOutOfBoundsException

    Exceção lançada quando um índice está fora dos limites de um array.

    Signup and view all the flashcards

    IllegalArgumentException

    Exceção lançada quando um argumento inválido é passado para um método.

    Signup and view all the flashcards

    Tratamento de exceções

    A abordagem para lidar com exceções em um método pode ser através de try-catch ou propagação.

    Signup and view all the flashcards

    Bloco try-catch

    Estrutura de código onde as exceções são 'vigiadas' e tratadas caso ocorram.

    Signup and view all the flashcards

    Bloco catch

    Parte do código que trata a exceção quando lançada dentro de um bloco try.

    Signup and view all the flashcards

    Cláusula throws

    Declara que um método pode gerar uma exceção, permitindo que outras partes do código a tratem.

    Signup and view all the flashcards

    Bloco finally

    Seção que é executada após o bloco try-catch, independente de uma exceção ter ocorrido ou não.

    Signup and view all the flashcards

    Compatibilidade de exceções

    Quando um bloco catch aceita uma exceção lançada, sendo do tipo compatível.

    Signup and view all the flashcards

    Propagação de exceções

    Quando uma exceção não é tratada no método atual e é passada para o método chamador.

    Signup and view all the flashcards

    Execução de blocos catch

    Somente o primeiro bloco catch que aceita a exceção lançada será executado; os demais são ignorados.

    Signup and view all the flashcards

    Study Notes

    Introdução à POO com Java

    • O tema abrange Programação Orientada a Objetos (POO) em Java, incluindo Conceitos, ADT, Herança, Interfaces, Exceções e Classes Genéricas. O estudo também cobre estruturas e algoritmos de dados.

    Princípios da POO

    • Modularidade: Divisão do código em componentes independentes.
    • Abstração: Simplificação da representação de entidades complexas.
    • Encapsulamento: Agrupa dados e métodos relacionados em unidades coesas.

    Tipos de Dados Abstratos (ADTs)

    • Abstração de dados visa a extração das características essenciais de um sistema.
    • Um ADT define os tipos de dados e as operações possíveis sobre esses dados, sem especificar como as operações são implementadas.
    • ADT é um modelo de estrutura de dados que especifica o que uma operação faz, mas não como o faz.
    • O comportamento de um ADT em Java pode ser expresso por uma interface.

    Interfaces

    • Interfaces definem contratos para a interação entre objetos.
    • Os objetos conhecem as funcionalidades da interface que o outro objeto suporta.
    • As interfaces especificam os métodos que uma classe deve implementar, não definem o seu comportamento.
    • Uma classe pode implementar múltiplas interfaces.

    Diferenças entre Interface e Classe

    • Uma interface não pode ser instanciada, a classe implementa a interface.
    • Os métodos das interfaces são sempre abstratos por defeito (em Java), e não possuem implementação.
    • As interfaces em Java contém apenas métodos, constantes e tipos aninhados.
    • Uma classe pode implementar muitas interfaces, mas estender apenas uma classe.

    Herança de Classes e Interfaces

    • Uma classe só pode estender uma única classe base na herança simples, mas pode implementar várias interfaces.
    • As interfaces podem estender outras interfaces, permitindo polimorfismo.
    • Subclasses podem herdar atributos e comportamentos da classe base e adicionar suas próprias.

    Construtores na Herança

    • Os construtores não são herdados, cada classe deve definir seus próprios.
    • O construtor da classe base é invocado no construtor da subclasse, geralmente pela palavra-chave super.
    • Se o construtor da subclasse não chamar explicitamente um construtor da classe base, o construtor padrão (sem argumentos) desta última será chamado implicitamente.

    Exemplo de Herança (Progressões)

    • Progressões matemáticas como aritmética, geométrica e de Fibonacci são exemplos de sequências numéricas, onde cada termo é derivado dos termos precedentes.

    A classe base Progression

    • A classe base fornece um modelo padrão para progressões; inclui uma variável current para o valor atual e o método advance() para mover para o próximo valor.

    A subclasse ArithmeticProgression

    • A classe que implementa a Progressão Aritmética extende o modelo base Progression e adiciona o incremento como atributo; O método advance() adiciona o incremento ao valor atual.

    A subclasse GeometricProgression

    • A classe que implementa a Progressão Geométrica herda Progression e adiciona a base da progressão como atributo; O método advance() multiplica o valor atual pela base.

    A subclasse FibonacciProgression

    • A classe que implementa a progressão de Fibonacci herda Progression e adiciona o valor anterior como atributo para calcular o valor atual; O método advance() atualiza prev e current.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    POO com Java PDF
    Tratamento de Exceções PDF

    Description

    Explore os fundamentos da Programação Orientada a Objetos (POO) em Java, incluindo modularidade, abstração e encapsulamento. Este quiz abrange conceitos chave e tipos de dados abstratos (ADTs), com foco em interfaces e operações em Java.

    More Like This

    Use Quizgecko on...
    Browser
    Browser