Conhecimentos Específicos de Analista de Tecnologia da Informação
Estruturas de dados com operações associadas que definem um certo comportamento são recursos úteis na programação orientada a objetos pois proporcionam simplificação do código e reuso. Considere os trechos de código em Python a seguir, que definem dois tipos abstratos de dados.
1 class EstruturaDados1(object): 2 def init(self): 3 self.dados = [] 4 5 def agrega(self, elemento): 6 self.dados.append(elemento) 7 8 def desfaz(self): 9 if not self.vazia(): 10 return self.dados.pop(-1) 11 12 def vazia(self): 13 return len(self.dados) == 0
1 class EstruturaDados2(object): 2 def init(self): 3 self.dados = [] 4 5 def anexa(self, elemento): 6 self.dados.append(elemento) 7 8 def recolhe(self): 9 return self.dados.pop(0) 10 11 def vazia(self): 12 return len(self.dados) == 0
As classes EstruturaDados1 e EstruturaDados2 representam, respectivamente: