Programação Modular
Atributos: são elementos que definem a estrutura de uma classe;
Métodos: são sub-rotinas associada a um objeto e determinam o comportamento de uma classe;
Classes: são estruturas que abstraem um conjunto de um objeto com características similares;
Objetos: é uma referência a um local de memória que possui um valor. Pode ser uma variável, função, ou estrutura de dados;
Encapsulamento: serve para controlar o acesso ao atributos e métodos de uma classe. É uma forma eficiente de proteger os dados manipulados dentro da classe, além de determinar onde esta classe poderá ser manipulada;
Herança: é a capacidade de permitir que classes compartilhem atributos e métodos;
Polimorfismo: permite que referencias a classes mais baratas representem o comportamento das classes concretas que referenciam;
2) Quais são os requisitos necessários para que uma linguagem de programação seja considerada orientada a objetos? Explique e dê exemplos de cada um desses itens/requisitos.
Os requisitos necessários para que uma linguagem de programação seja considerada orientada a objetos é ter tipo abstratos de dados, herança e um tipo particular de vinculação dinâmica.
3) O que são classes abstratas? Quando devem ser usadas e quais as vantagens?
Classe abstrata de forma objetiva serve apenas como modelo para uma classe concreta (classe que comumente usamos).
Classe abstrata é utilizada quando se quer que uma classe que herde dela implemente alguns métodos, mas que também possam ter métodos implementados na própria classe abstrata.
Uma das vantagens é que força a hierarquia para todas as classes.
4) Quais os tipos de polimorfismo? Explique cada um deles.
Tipos de polimorfismo são: coerção, sobrecarga, paramétrico e inclusão
Sobrecarga- Este tipo de polimorfismo permite a existência de vários métodos de mesmo nome, porém com assinaturas levemente diferentes ou seja