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 2 Linguagem OO2  Estende a LOO1 com os seguintes recursos:  Herança simples entre classes  Redefinição de métodos  Ligação Dinâmica  Expressão InstanceOf  Comando Cast  Superclasse Object  Modificadores de acesso em métodos  Modificador super

3 3 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 devem possuir pelo menos um método abstrato –Herança simples entre classes abstratas

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

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

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

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

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

9 9 Status 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 devem possuir pelo menos um método abstrato –Herança simples entre classes abstratas

10 10

11 11

12 12

13 13

14 14 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