A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Inserção dos conceitos de Interface e Classe Abstrata em LOO2 (2006.1) Projeto PLP 2008.1 Alunos: Carlos Eduardo Pontual (ceplc)‏ Fernanda d'Amorim (frsa)‏

Apresentações semelhantes


Apresentação em tema: "Inserção dos conceitos de Interface e Classe Abstrata em LOO2 (2006.1) Projeto PLP 2008.1 Alunos: Carlos Eduardo Pontual (ceplc)‏ Fernanda d'Amorim (frsa)‏"— Transcrição da apresentação:

1 Inserção dos conceitos de Interface e Classe Abstrata em LOO2 (2006.1) Projeto PLP 2008.1 Alunos: Carlos Eduardo Pontual (ceplc)‏ Fernanda d'Amorim (frsa)‏ Filipe Motta (famb)‏ Leopoldo Teixeira (lmt)‏

2 Proposta do Projeto Inserção do conceito de Interfaces –Implementação de interfaces (uma ou mais) por classes concretas –Herança simples entre interfaces Inserção do conceito de Classes Abstratas –Inserção do conceito de métodos abstratos –Classes abstratas que não herdam de outra classe abstrata devem possuir pelo menos um método abstrato –Herança simples entre classes abstratas 2

3 Contribuições adicionais Overloading – Uma classe pode definir mais de um método com o mesmo nome, contanto que tenham parâmetros de tipos diferentes Um programa é um comando – Declarações de classes e interfaces são opcionais Corpo da classe – Procedimentos e atributos podem ser declarados em qualquer ordem dentro da declaração da classe 3

4 Interface Novos mapeamentos no ambiente –Pilha de interfaces declaradas –Id de classe  Lista de interfaces Alterações na BNF/Parser Alteração de classes existentes –DecClasse, ExpInstanceOf Introdução de novas classes –DeclaracaoInterface, DefInterface, ListaInterface, InterfaceNaoDeclaradaException, InterfaceJaDeclaradaException 4

5 Modificações efetuadas Introdução de nova classe –RelacaoClasseInterface (fecho) –Auxilia na avaliação de instanceOf Ao contrário das classes, as interfaces não herdam de Object ChecaTipo –Verifica quantidade, ordem e tipos dos parâmetros da interface –Verifica se interface a ser estendida por outra existe –Classes e interfaces não podem ter o mesmo nome 5

6 Classe Abstrata Reorganização das classes –DecClasseICABS DecClasseConcreta DecClasseAbstrata –DecProcedimentoICABS DecProcedimentoConcreto DecProcedimentoAbstrato Algo a mais? 6

7 7 Modificações na BNF - 1  Definição de programa Programa ::= "{" [ Declaracoes ";" ] Comando "}" Declaracoes ::= DecInterface | DecClasse | Declaracoes “,” Declaracoes

8 8 Modificações na BNF - 2  Definição de Interface DecInterface ::= "interface" Id ["extends" Id] "{" ListaAssinaturaMetodo "}" | DecInterface "," DecInterface ListaAssinaturaMetodo ::= AssinaturaMetodo | AssinaturaMetodo "," ListaAssinaturaMetodo AssinaturaMetodo ::= modAcesso "proc" Id "(" [ListaDeclaracaoParametro] ")"

9 9 Modificações na BNF - 3  Definição de Classe Abstrata DecClasse ::= DecClasseAbstrata | DecClasseConcreta | DecClasse "," DecClasse DecClasseAbstrata ::= modAcesso "abstract" "classe" Id ["extends" Id] "{" CorpoClasseAbstrata "}" CorpoClasseAbstrata ::= DecVariavel | DecProcedimento | CorpoClasseAbstrata";" CorpoClasseAbstrata

10 10 Modificações na BNF - 4  Definição de Classe Concreta DecClasseConcreta ::= modAcesso "classe" Id ["extends" Id] ["implements" Id] "{" CorpoClasseConcreta "}" CorpoClasseConcreta ::= DecVariavel | ListaDecProcConcreto | CorpoClasseConcreta ";" CorpoClasseConcreta

11 11 Modificações na BNF - 5  Definição de Procedimentos DecProcedimento ::= DecProcConcreto | DecProcAbstrato | DecProcedimento "," DecProcedimento DecProcConcreto ::= AssinaturaMetodo "{" Comando "}" ListaDecProcConcreto ::= DecProcConcreto | DecProcConcreto "," ListaDecProcConcreto DecProcAbstrato ::= "abstract" AssinaturaMetodo

12 DecClasseAbstrata 12

13 ListaCorpoClasseAbstrata 13

14 CorpoClasseAbstrata 14

15 DecProcedimentoSimples 15

16 DecProcedimentoAbstrato 16

17 DecProcedimentoConcreto 17

18 18 Dúvidas?


Carregar ppt "Inserção dos conceitos de Interface e Classe Abstrata em LOO2 (2006.1) Projeto PLP 2008.1 Alunos: Carlos Eduardo Pontual (ceplc)‏ Fernanda d'Amorim (frsa)‏"

Apresentações semelhantes


Anúncios Google