Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Java e OO – Isso é só um roteiro de aula
Paulo Marques Hernâni Pedroso
Programação Orientada aos Objectos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra Out/2005 Core C++: Uma abordagem.
Linguagens de Programação Orientadas a Objetos
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Polimorfismo e Acoplamento Dinâmico
Rafael Pinto Frederico Corrêa
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Wagner Santos C. de Jesus
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
CRIANDO OBJETOS EM JAVA
Funções Declaração function nomedafunção (arg_1, arg_2,..., arg_n) corpoDaFunção end.
Programação Orientada à Objetos
Informática Teórica Engenharia da Computação
Estudo dos Conceitos e Paradigmas de Programação
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio Jackson, Jean, Patrícia, Saulo Centro de Informática.
Paradigmas de Linguagens de Programação Linguagem Imperativa 1
Paradigmas de Linguagens de Programação Linguagem Orientada a Objetos 1 Augusto Sampaio e Paulo Borba Departamento de Informática Universidade Federal.
Augusto Sampaio e Paulo Borba Centro de Informática
Augusto Sampaio e Paulo Borba Centro de Informática
Compilação de Linguagens OO Marco Simões (macs3) André Santos (alms)
Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
UML e Java, Introdução AB,20001 Diagrama de Classes UML e JAVA Problema Existem diversos tipos de contas bancárias. Todas as contas têm um atributo saldo.
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Wagner Santos C. de Jesus
Sistema de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos.
Aula Prática 1 Monitoria IP/CC (~if669). Verificação Dinâmica de Tipos Métodos de superclasses e subclasses: Uso de métodos de subclasses quando se é.
Aula prática 14 Orientação a Objetos – C++ Parte 2
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Melhorias e Mensagens Amigáveis ao Usuário Centro de Informática Universidade Federal de Pernambuco Bruno Felipe Marco André Paulo Fernando Rodolfo Santos.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Classes Abstratas e Interface
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Linguagem Orientada a Agentes Allan Lima, Bruno Edson, Nancy Lyra.
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Construtores e Destrutores
Bruno Inojosa MCP .NET Framework
Modificadores Programação II.
Aula Prática 13 Orientação a Objeto Monitoria
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
Adriana Carla Projeto de PLP. 2 Roteiro Objetivos Alterações  Contextualização  BNF / Parser  checaTipo()  avaliar() Demonstração.
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Herança.
Emanuella Aleixo ( José Antônio Juliana Mafra Marcela Balbino
20/04/2017 Orientação a Objetos 1 1.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Orientação a Objetos com PHP
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Linguagem Java Programação II.
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz Rafael Dantas Renan Pereira Centro de Informática Universidade Federal de Pernamburco

2 Motivação A linguagem OO1 foi desenvolvida como passo inicial para abordar os conceitos básicos da orientação a objetos Algumas características interessantes ficaram de fora desta versão inicial da linguagem 2

3 Motivação A linguagem OO2 adiciona construtores herança 3

BNF agens/OrientadaObjetos2/orientada Objetos2.htmlhttp:// agens/OrientadaObjetos2/orientada Objetos2.html Adição de Construtor e Herança 4

Construtor Métodos especiais chamados automaticamente a cada criação de um objeto Através do comando new Não pssuem valor de retorno e tem o mesmo nome da classe 5

Exemplo Construtor 6 { classe Eletrodomestico{ boolean ligado = false, int voltagem = 220; Eletrodomestico(boolean ligado, int voltagem){ this.ligado := ligado; this.voltagem := voltagem }, proc ligar(){ this.ligado := true }, proc desligar(){ this.ligado := false },

Exemplo Construtor – Cont. 7 proc imprimeEstado(){ write("Ligado: " ++ this.ligado); write("Voltagem: " ++ this.voltagem) } }; { Eletrodomestico eletro := new Eletrodomestico(false,110); eletro.imprimeEstado(); eletro.ligar(); eletro.imprimeEstado() }

Herança Exemplo 8 classe Tv extends Eletrodomestico{ int canal = 3, int volume = 0; Tv(boolean ligado, int voltagem, int canal, int volume){ this.ligado := ligado; this.voltagem := voltagem; this.canal := canal; this.volume := volume }, proc aumentarVolume(){ this.volume := this.volume + 1 }, Continua…

Herança Exemplo - Cont. 9 proc diminuirVolume(int volumeMenos){ if(not (this.volume == 0)) then { this.volume := this.volume - volumeMenos } }, proc imprimeEstadoTv(){ write("Ligado: " ++ this.ligado); write("Voltagem: " ++ this.voltagem); write("Canal: " ++ this.canal); write("Volume: " ++ this.volume) } },

Herança Exemplo – Cont. 10 classe TvLCD extends Tv{ boolean fullHD = true; TvLCD(boolean ligado, int voltagem, int canal, int volume, boolean fullHD){ this.ligado := ligado; this.voltagem := voltagem; this.canal := canal; this.volume := volume; this.fullHD := fullHD }, proc imprimeEstadoTvLCD(){ this.imprimeEstadoTv(); write("FullHD: " ++ this.fullHD) } };

Herança Exemplo – Cont. 11 { Tv tv := new Tv(false,110,13,20); write("Estado Inicial da Tv"); write(" "); tv.imprimeEstado(); tv.imprimeEstadoTv(); write(""); write("Aumentando volume"); write(" "); tv.aumentarVolume(); tv.imprimeEstadoTv() }

Herança Exemplo – Cont. 12 { TvLCD tvLCD := new TvLCD(false,110,13,20, true), Tv tv := new Tv(true,220,4,35); write(""); write("TvLCD estado inicial"); write(" "); tvLCD.imprimeEstadoTvLCD (); write(""); write("TvLCD mudando para o canal 50"); write(" "); tvLCD.canal := 50; tvLCD.imprimeEstadoTvLCD (); write(""); write("Diminuindo o volume da Tv em 10"); write(" "); tv.diminuirVolume(10); tv.imprimeEstadoTv() }

Exercícios Implementar Overloading Implementar Polimorfismo Adicionar operador super Adicionar modificadores de acesso 13