1 / 14

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) ‏. Inserção dos conceitos de Interface e Classe Abstrata em LOO2 (2006.1) Projeto PLP 2008.1. Linguagem OO2. Estende a LOO1 com os seguintes recursos:

ron
Télécharger la présentation

Inserção dos conceitos de Interface e Classe Abstrata em LOO2 (2006.1) Projeto PLP 2008.1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. 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. Modificações na BNF - 1 • Definição de programa • Definição de programa • Definição de programa Programa ::= "{" [ Declaracoes ";" ] Comando "}" Declaracoes ::= DecInterface • | DecClasse • | Declaracoes “,” Declaracoes

  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. 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. 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. 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. 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. Dúvidas?

More Related