Obs: Esta linguagem especifica herança nos pais, não nos filhos. Apenas uma convenção sintática, apesar de tornar mais difícil a programação.
Nota: 0,75
Grupo:
Bruno Ferguson Maida - R.A.: 205354
Rodrigo Scoralick Murta - R.A.: 205460
Nas linguagens comuns, classes filhas tem acesso aos métodos exportados da classe
pai. A linguagem Shamu proposta nesse trabalho, tem uma classe principal com as
funções básicas, sendo que ela herda todos os métodos exportados de suas
classes filhas. Resumindo, trata-se de uma herança ao contrário do que acontece, por
exemplo, em Java. A classe pai tem os métodos exportados de todos os seus
filhos, e as classes filhas tem somente seus métodos.
Na
figura abaixo, a classe D exporta seus métodos para as classes B e A. A classe
B tem os métodos exportados das classes D, E e F. A
classe A acessa os métodos exportados por todas as outras classes.
Exemplos:
class D exports to * // A classe D exporta seus métodos para as
classes B e A
class D exports to “class name” «
class D exports to G // A classe D
exporta seus métodos para a classe G
Outra característica marcante de Shamu é
que os métodos terão níveis de prioridade de acordo com sua eficiência de utilização
de memória e CPU. Assim, o Shamu poderá utilizar um método mais eficiente de
acordo com a necessidade da aplicação, tornando mais sábia a decisão do
usuário. Podemos tomar como exemplo quando o usuário solicita uma consulta
utilizando o método de lista. Se a consulta estiver tomando um tempo maior do
que seria utilizando o método Btree, o que é perceptível através de processos
rodando em background, o Shamu muda a consulta para o método mais eficiente,
otimizando a consulta.