Em Ciência da Computação, é fundamental o trabalho com conjunto de dados, que podem representar coleções de: números, dados de um funcionário, dados de um produto, entre outros. Esses conjuntos são aqui chamados de conjuntos dinâmicos, pois os algoritmos que os manipulam fazem com que eles cresçam, encolham ou sofram alterações ao longo do tempo. Assim, as principais operações sobre os conjuntos dinâmicos são: inserir um elemento, excluir outro, buscá-lo, encontrar o maior, o menor, contar os elementos, alterá-los, buscar o elemento sucessos e o predecessor.
Uma estrutura de dados do tipo lista representa um conjunto de dados organizados em ordem linear. Quando a estrutura lista é representada por um arranjo, ou seja, é feita a utilização de vetores na representação, tem-se o uso de endereços contíguos de memória do computador e a ordem linear é determinada pelos índices do vetor, o que em algumas situações exige um maior esforço computacional. Tal representação denomina-se lista estática. Quando a estrutura lista é representada por elementos que, além de conter o dado, possuem também um ponteiro para o próximo elemento, ou seja, elementos encadeados, tem-se a representação denominada lista dinâmica. Toda lista dinâmica tem pelo menos um ponteiro para o início.
ASCENCIO, Ana F. G. Estrutura de Dados: algoritmos, análise da complexidade e implementações em Java e C/C". 1. ed. Pearson, São Paulo. 2010. p. 105.
Defina o que é herança no contexto de programação orientada a objetos e por qual motivo é um dos pilares desse paradigma de programação, argumentando as vantagens de sua utilização. Depois, defina o que são listas e a diferença entre listas estáticas e dinâmicas, para, finalmente, relacionar a utilização de herança e implementação de soluções computacionais no contexto de programação orientada a objetos, elencando qual a sua relação com o uso de estruturas de dados, argumentando a relação de listas com classes e, possivelmente, também com herança.
Soluções para a tarefa
Herança é uma técnica usada para generalizar ou definir uma classe. Por isso, nos permite construir um software mais limpo com dependências bem definidas.
Por exemplo: A classe Animal é uma generalização da classe Cachorro, enquanto a classe Cachorro é uma especialização da classe Animal.
Usar herança também tem a vantagem de implementar polimorfismo (muitas formas), pois é possível definir uma variável do tipo Animal e colocar qualquer objeto que a herde.
Em termos de alocação de memória, existem basicamente dois tipos de listas:
- Estática: São estruturas de dados permanentes.
- Dinâmica: São estruturas de dados impermanentes.
Qual é o propósito da composição na programação orientada a objetos?
Construir objetos que nos permitem criar classes mais versáteis adicionando instâncias de listas às suas propriedades, por exemplo.
A montagem de objetos nos permite criar classes que contêm outros tipos de classes. Como uma turma da escola que poderia ter uma lista de alunos, ou mesmo uma turma de repórteres que poderia ter uma lista de contatos. Além das listas, outros tipos de classes também podem ser combinadas.
Aprenda mais sobre Programação Orientada a Objetos aqui: https://brainly.com.br/tarefa/24520141?referrer=searchResults
#SPJ1