Introdução à POO com Java

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

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
Use Quizgecko on...
Browser
Browser