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.