Programação Orientada a Objetos (POO): objetos, classes, herança, polimorfismo e sobrecarga. Flashcards
(18 cards)
🧱 Objetos e Classes
🧠 Conceito:
Na POO, objetos são instâncias de classes. Uma classe é como um molde que define atributos (características) e métodos (comportamentos).
🧪 Exemplo prático POO:
Imagine uma classe Carro com atributos como cor, modelo e métodos como acelerar(). Um objeto seria um Carro específico, por exemplo, um Carro vermelho modelo Sedan.
Analogia POO:
Pense na classe como uma receita de bolo e o objeto como o bolo pronto. A receita define os ingredientes e passos (atributos e métodos), e cada bolo feito a partir dela é um objeto.
🧬 Herança (POO)
Herança permite que uma classe (subclasse) herde atributos e métodos de outra classe (superclasse). Isso promove reutilização de código e hierarquia.
🧬 Herança (POO) - EXEMPLO
Uma classe Animal com método fazerSom(). Classes Cachorro e Gato herdam de Animal e podem implementar fazerSom() de maneira específica.
🧬 Herança (POO) - Analogia
É como herdar características dos pais. Se seus pais têm olhos castanhos, você pode herdar essa característica. Da mesma forma, uma subclasse herda atributos e comportamentos da superclasse.
🌀 Polimorfismo (POO) - Conceito
Polimorfismo permite que métodos com o mesmo nome se comportem de maneiras diferentes em classes distintas. Existem dois tipos principais:
Sobrescrita (Override): Uma subclasse redefine um método da superclasse.
Sobrecarga (Overload): Múltiplos métodos com o mesmo nome, mas diferentes parâmetros, na mesma classe.
🌀 Polimorfismo (POO) - Exemplo
Método fazerSom() em Animal é sobrescrito em Cachorro para latir e em Gato para miar.
🌀 Polimorfismo (POO) - Analogia
Pense no botão “ligar” em diferentes dispositivos: em uma TV, liga a imagem; em um rádio, liga o som. O botão é o mesmo (método), mas o comportamento varia conforme o dispositivo (classe).
🔁 Sobrecarga (POO) - Conceito
Sobrecarga permite que uma classe tenha múltiplos métodos com o mesmo nome, mas diferentes assinaturas (número ou tipo de parâmetros).
🔁 Sobrecarga (POO) - Exemplo prático
Método soma() pode ter versões que somam dois inteiros, dois doubles ou concatenam duas strings.
🔁 Sobrecarga (POO) - Analogia
É como uma chave mestra que abre diferentes portas dependendo da fechadura (parâmetros). A chave (método) é a mesma, mas se adapta à porta (tipo de parâmetro).
🧱 QUESTÃO 1 – Classes e Objetos
Uma classe é um objeto específico criado durante a execução do programa, enquanto os objetos são modelos abstratos que definem atributos e comportamentos.
( ) Certo ( ) Errado
E
Explicação:
A afirmação inverteu os conceitos:
Classe → é o modelo abstrato (o molde, o plano de construção).
Objeto → é a instância criada a partir dessa classe, durante a execução do programa.
🧠 Analogia:
Classe é a planta da casa.
Objeto é a casa construída com base nessa planta.
🧬 QUESTÃO 2 – Herança e Reutilização
A herança em POO permite que uma nova classe reutilize atributos e métodos de uma classe existente, promovendo a reutilização de código.
( ) Certo ( ) Errado
C
Explicação:
Perfeitamente! A herança permite que uma subclasse reutilize atributos e métodos definidos em uma superclasse, o que facilita a manutenção e evita repetição de código.
🧠 Analogia:
É como herdar os olhos verdes da mãe e o cabelo do pai: você (subclasse) recebe as características da sua “classe base” (seus pais).
🌀 QUESTÃO 3 – Polimorfismo e Sobrecarga
A sobrecarga de métodos é uma forma de polimorfismo em que métodos com o mesmo nome possuem implementações diferentes em classes distintas.
( ) Certo ( ) Errado
E
Explicação:
A pegadinha aqui está em dizer que sobrecarga ocorre entre classes distintas. Mas não é isso!
➡️ A sobrecarga ocorre na mesma classe, quando você define métodos com o mesmo nome, mas parâmetros diferentes.
➡️ O que ocorre em classes diferentes com o mesmo método é a sobrescrita (override), outro tipo de polimorfismo.
🧠 Analogia:
Sobrecarga = uma mesma função se comporta diferente dependendo dos ingredientes que você passar (dentro da mesma cozinha/classe).
Sobrescrita = cozinhas diferentes (classes) usam a mesma receita (método), mas com sabores personalizados.
🔐 QUESTÃO 1 – Encapsulamento
O encapsulamento tem como principal objetivo permitir que os atributos de uma classe sejam acessados diretamente por qualquer parte do programa, facilitando a manipulação dos dados.
( ) Certo ( ) Errado
E
Explicação:
O encapsulamento serve justamente para o contrário do que foi afirmado na questão. Ele visa proteger os dados internos da classe, restringindo o acesso direto aos atributos e forçando o uso de métodos públicos para acessá-los (como getters e setters).
➡️ Isso ajuda a manter a integridade dos dados e respeitar o princípio da responsabilidade única.
🧠 Analogia:
Encapsulamento é como guardar dinheiro dentro de um cofre: você não pega diretamente o dinheiro (atributo), mas sim usa uma chave ou senha (método) para acessar ou modificar ele com segurança.
🧩 QUESTÃO 2 – Composição
Na composição, uma classe contém objetos de outra classe, o que permite montar estruturas mais complexas a partir de partes menores e reaproveitáveis.
( ) Certo ( ) Errado
C
Explicação:
A composição está correta do jeito que foi descrita na questão:
➡️ Uma classe possui objetos de outras classes como parte da sua estrutura, formando relações de “tem-um”.
Exemplo:
Uma classe Carro pode ter um objeto do tipo Motor.
Ou seja:
Carro tem um Motor.
🧠 Analogia:
É como dizer que um esquadrão da PF tem agentes. O esquadrão (classe principal) é formado por componentes (agentes), que são instâncias de outra classe.
🔄 QUESTÃO 3 – Sobrecarga x Sobrescrita
Enquanto a sobrecarga permite múltiplos métodos com o mesmo nome na mesma classe, a sobrescrita permite redefinir um método herdado de outra classe.
( ) Certo ( ) Errado
C
Explicação:
Perfeito!
Sobrecarga (Overload): métodos com o mesmo nome, mas diferentes parâmetros, dentro da mesma classe.
Sobrescrita (Override): redefinição de um método herdado da superclasse, respeitando assinatura e tipo de retorno.
🧠 Analogia:
Sobrecarga = o mesmo botão com funções diferentes conforme o contexto (tipo e número de argumentos).
Sobrescrita = filho reescrevendo a receita da mãe com seu próprio toque.