Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Tamanho: px
Começar a partir da página:

Download "Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa"

Transcrição

1 Introdução PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

2 Resumo Funcionamento da cadeira Intuição sobre programação orientada-a-objectos A linguagem Java: história e aspectos gerais 2

3 Funcionamento da cadeira Na página da cadeira (Moodle) podem encontrar: horários bibliografia e outros recursos regras de avaliação fóruns de notícias e dúvidas sumários slides das aulas teóricas folhas de exercícios para as aulas teórico-práticas (a breve prazo) formulário para inscrição em grupos 3

4 Programação orientada-a-objectos A programação orientada-a-objectos (OO) tem por base a especificação de classes e o uso de objectos. Uma classe define de forma conjunta um tipo abstracto de dados e a sua implementação. Um objecto é uma instância de uma classe durante a execução de um programa. A definição de classes / o uso de objectos seguem padrões que reflectem herança, extensão e abstracção de funcionalidade. 4

5 Classes? Objectos? (intuição) Classe Instâncias (objectos) Super-heróis Batman, Hulk, Spiderman... Hora 23:59, 12:00, 5:30,... Cursos na FCUL TIC, Est. Aplicada,... Classe: tipo abstracto de dados. Objecto: instância de uma classe. 5

6 Atributos e operações (intuição) Classe Atributos Operações Super-heróis Hora Cursos na FCUL super-poderes horas minutos nome alunos cadeiras usa-super-poder(x) salva-o-mundo() acerta-hora(h) acerta-minutos(m)... adiciona-aluno(a) remove-aluno(a)... Uma classe tem associados um conjunto de atributos (estado) e um conjunto operações. Os atributos podem ser distintos de objecto para objecto de uma classe. As operações de uma classe manipulam os atributos de um objecto. 6

7 Herança / hierarquia entre classes (intuição) Forma geométrica Polígono Elipse Rectângulo Triângulo Círculo Quadrado Podemos organizar classes de forma hierárquica, onde a hierarquia reflecte herança e extensão de funcionalidade entre classes. A estende B => A é uma espécie/tipo de B, ex. um quadrado é um rectângulo, um rectângulo é um polígono, etc. Em que atributos / operações genéricas podemos pensar em relação a uma forma geométrica em abstracto? E para um polígono, elipse, rectângulo, círculo, etc? 7

8 Herança e extensão de funcionalidade (intuição) Classe Atributos Operações Forma geométrica (classe abstracta ) cor muda-cor(c) desenha() move(x,y) roda(ângulo)... Polígono número-de-lados lista-de-pontos desenha() Rectângulo Quadrado largura altura tamanho-de-lado [ = largura = altura] altera-altura(a)... cor / muda-cor() podem ser considerados atributos/operações da classe forma geométrica, assim como a operação muda-cor. São herdados por qualquer subclasse. As subclasses de forma podem definir atributos adicionais, ex. lista-de-pontos para a classe polígono ou altera-altura() para a classe rectângulo. 8

9 Abstracção (intuição) Classe Atributos Operações Forma geométrica ( classe abstracta ) cor muda-cor(c) desenha() move(x,y) roda(ângulo)... Polígono número-de-lados lista-de-pontos desenha() Rectângulo Quadrado largura altura tamanho-de-lado [ = largura = altura] altera-altura(a)... muda-cor() pode manipular directamente o atributo cor. Podemos pensar em código que as implementa directamente na classe Forma geométrica. Outras operações genéricas para formas geométricas como desenha() ou roda() são abstractas no sentido de terem de ser concretizadas para subclasses, isto porque o algoritmo de desenho dependerá do tipo concreto de forma em causa. 9

10 A linguagem Java - história e uso - Criada em Originalmente concebida para sistemas embebidos (James Gosling, Sun Microsystems). Ganhou popularidade no final da década de 90, em particular com a possibilidade de executar Java applets em páginas Web. Usada numa grande variedade de ambientes e plataformas telemóveis / tablets (ex. Android) servidores Web (aplicações J2EE) PCs páginas Web (Java applets) 10

11 O Java alterna com o C uma das primeiras duas posições do índice TIOBE há mais de 10 anos. O índice mede a popularidade de linguagens de programação a partir de dados estatísticos de buscas em motores de pesquisa. 11

12 A máquina virtual Java - Java Virtual Machine (JVM) - O Java surgiu com o mote Write once, run anywhere. O código fonte Java é compilado para instruções ( Java bytecode ) de uma máquina virtual, a Java Virtual Machine (JVM). A JVM executa da mesma forma o bytecode em vários SOs diferentes (ex. Windows, MacOS, Linux). Contraste com C e C++ Código compilado para instruções máquina. Compilação pode reflectir dependências do sistema operativo, arquitectura do processador, execução ou bibliotecas do sistema. Contraste com Python CPython (principal implementação): esquema de máquina virtual PyPy: interpretador com compilação para instruções máquina em tempo de execução ( just-intime compilation ) Jython: código Python compilado para Java bytecode e executado usando a JVM. A JVM é também usada como plataforma de execução para outras linguagens (ex. Scala, Groovy, Clojure). 12

13 A linguagem Java (3) - recolha de lixo - Gestão automática de memória Um item de memória alocada é libertado automaticamente pela JVM depois (e apenas depois) de este já não ser referenciado. Este mecanismo é conhecido como recolha de lixo ( garbage collection ). Grande parte das linguagens de programação mais usadas usam recolha de lixo, por ex. C#, Python, Javascript. Contraste com linguagens sem recolha de lixo Libertação de memória tem de ser programada explicitamente. Por exemplo em C/C++ memória alocada com malloc/new deve ser explicitamente libertada com free/delete. Problemas típicos: memória não libertada ( memory leaks ), referência a memória já libertada ( dangling references ),... 13

14 A linguagem Java - tipos - Java é uma linguagem fortemente tipada Erros devidos ao mau uso de tipos de dados (ex. inteiro, string) são detectados sob forma de um erro durante a compilação ou execução do programa. Cada variável, expressão ou valor do programa deve ter um tipo bem determinado. Verificação estática em tempo de compilação ( static type checking ) previne a maior parte dos erros. Esta impõe no entanto a declaração precisa de tipos (ex. para variáveis) no código fonte. Verificação dinâmica ( dynamic type checking ) em tempo de execução é também usada, ex. em operações de conversão de tipos ( casts ). Contraste com outras linguagens Python: verificação de tipos é feita dinamicamente; erros de tipos não são detectados à priori; não são exigidas declaração de tipos no código fonte. A versão 3.5 introduziu anotações de tipos (chamados Type hints ) para verificação estática (opcional) usando ferramentas como o mypy. C/C++: verificadas estaticamente, mas sem um sistema de tipos de seguro: conversões/ coerções arbitrárias de tipos são possíveis; programas podem aceder à memória de forma inválida. 14

Desenvolvimento de Software I

Desenvolvimento de Software I Desenvolvimento de Software I Prof. Arnaldo Martins Hidalgo Junior arnaldo@flash.tv.br http://aulashidalgo.wordpress.com 5 h/a (2 aulas semanais) http://aulashidalgo.wordpress.com 1 Competências Avaliar

Leia mais

AULA 1 INTRODUÇÃO AO JAVA

AULA 1 INTRODUÇÃO AO JAVA AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 2 A tecnologia Java Uma ideia base da linguagem JAVA é a de que, um programa em JAVA deve poder ser executado em qualquer tipo de computador sem ter que ser alterado ou compilado novamente. Em Java o código

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 2 A tecnologia Java Uma ideia base da linguagem JAVA é a de que, um programa em JAVA deve poder ser executado em qualquer tipo de computador sem ter que ser alterado ou compilado novamente. Em Java o código

Leia mais

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática Programação Orientada a Objectos - 25/26; P. Prata, P. Fazendeiro 2 A tecnologia Java Uma ideia base da linguagem JAVA é a de que um programa em JAVA deve poder ser executado em qualquer tipo de computador

Leia mais

Métodos de implementação de linguagens. Kellen Pinagé

Métodos de implementação de linguagens. Kellen Pinagé Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de

Leia mais

(Características fundamentais de Codificação de programas)

(Características fundamentais de Codificação de programas) Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Características fundamentais de Codificação de programas) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Histórico

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

Leia mais

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Motivação Por que existe mais de uma LP? Propósitos diferentes; Avanços tecnológicos;

Leia mais

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples. O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Informática Parte 15 Prof. Márcio Hunecke

Informática Parte 15 Prof. Márcio Hunecke Escriturário Informática Parte 15 Prof. Márcio Hunecke Informática SCALA 2.12 O projeto do Scala começou em 2001 por Martin Odersky e tinha como objetivo criar uma linguagem de programação que combinava

Leia mais

Arquitecturas Alternativas. Java Virtual Machine

Arquitecturas Alternativas. Java Virtual Machine Arquitecturas Alternativas Java Virtual Machine Compilação da linguagem Java A linguagem Java é uma linguagem interpretada que é executada por uma máquina virtual software denominada JVM (Java Virtual

Leia mais

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

A linguagem Java foi projetada tendo em vista os seguintes objetivos: Java Disciplina: Programação II Professora: Mai-Ly Vanessa Histórico do Java Em 1991 a Sun Microsystems financiou uma pesquisa sobre o que seria a nova onda digital. Desta pesquisa resultou a criação da

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora L I NGUAGE M DE PROGRAMAÇÃOJ AVA I NF ORMAÇÃOECOMUNI CAÇÃO J os éj e s s egonç a l v e s Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP,

Leia mais

Classes e objectos em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Classes e objectos em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Classes e objectos em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Resumo Uso de classes e objectos em Java classes e objectos código cliente

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Programação por Objectos Introdução. Introdução 1/18

Programação por Objectos Introdução. Introdução 1/18 Programação por Objectos Introdução LEEC@IST Introdução 1/18 História (1) [60s] Simula-67, Dahl e Nygaard da Univ. de Oslo Primeira linguagem com conceitos OO. [70s] Smalltalk, da Xerox Primeira implementação

Leia mais

09/05/2017. Técnicas Avançadas de Programação APRESENTAÇÃO

09/05/2017. Técnicas Avançadas de Programação APRESENTAÇÃO APRESENTAÇÃO Técnicas Avançadas de Programação Técnica: Secretária Escolar(FDR) Graduação: Bacharelado em Sistemas de Informação(FIED) Pós-Graduação: Especialização em Engenharia de Software(FGF) MBA em

Leia mais

Ambientes Virtuais de Execução. Apresentação da plataforma.net

Ambientes Virtuais de Execução. Apresentação da plataforma.net Ambientes Virtuais de Execução Apresentação da plataforma.net 1 Plataforma.Net } Consiste de: } Common Language Runtime (CLR) } Fornece uma camada de abstracção sobre o sistema operativo } Bibliotecas

Leia mais

[Desenvolvimento OO com Java] O que é Java?

[Desenvolvimento OO com Java] O que é Java? Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] O que é Java? Este obra está licenciada com uma licença Creative

Leia mais

[Desenvolvimento OO com Java] O que é Java?

[Desenvolvimento OO com Java] O que é Java? Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] O que é Java? Este obra está licenciada com uma licença Creative

Leia mais

Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki

Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki Ruby e JRuby em... Paralelos e Distribuídos Felipe Barden 151343 Lucas Fialho Zawacki 172072 Sobre o que vamos falar? A linguagem Ruby e suas aplicações em programação paralela e distribuída. A implementação

Leia mais

INTRODUÇÃO A LINGUAGEM JAVA

INTRODUÇÃO A LINGUAGEM JAVA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso Técnico

Leia mais

SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante

SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante O Que é scala? É uma linguagem de programação moderna de propósito geral que roda sobre a Java Virtual

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse

Leia mais

Professor: José Ronaldo Leles Júnior Curso: Sistemas de Informação

Professor: José Ronaldo Leles Júnior   Curso: Sistemas de Informação Professor: José Ronaldo Leles Júnior Email: juniorleles80@gmail.com Curso: Sistemas de Informação Universidade Estadual de Goiás - Câmpus Posse Ano 2016/1 Uma breve história do Java 1991-1994 O Green (um

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

Java Standard Edition (JSE)

Java Standard Edition (JSE) Java Standard Edition (JSE) Capítulo 01. Introdução à tecnologia JAVA Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 1 Agenda Apresentação: Formação, graduação, certificação, área de atuação; Apresentação

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

UFCG - CEEI DSC Grupo PET Computação Ciclo de Seminários

UFCG - CEEI DSC Grupo PET Computação Ciclo de Seminários UFCG - CEEI DSC Grupo PET Computação Ciclo de Seminários Flávio Henrique Farias e Gleyser Guimarães flvhfarias@gmail.com gleyser.bonfim.guimaraes@ccc.ufcg.edu.br Ciclo de Seminários, outubro 2012 1 Apresentando

Leia mais

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13 Apresentação da plataforma.net Ambientes Virtuais de Execução Semestre de Verão, 12/13 Desenvolvimento baseado em componentes Desenvolvimento modular funcionalidades genéricas implementadas em componentes

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Conceitos de Linguagens de Programação - Características. Paavo Soeiro Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no

Leia mais

CP Introdução à Informática Prof. Msc. Carlos de Salles

CP Introdução à Informática Prof. Msc. Carlos de Salles CP 1015.1 Prof. Msc. Carlos de Salles PROGRAMA 1. CONCEITO DE SISTEMAS 1.1 Sistemas e sua classificação 1.2 Informações e Dados 1.3 O Processamento de Dados 1.4 O Computador e sua História 2. ESTRUTURA

Leia mais

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) Ø LP Java. Estrutura de um programa em Java. Ø Conjunto de caracteres utilizado. Ø Identificadores. Ø Variáveis e constantes. Ø Tipos

Leia mais

Extensão de classes em Java - noções elementares - PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Extensão de classes em Java - noções elementares - PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Extensão de classes em Java - noções elementares - PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Conteúdo Noções elementares de extensão de classes Exemplo: classe

Leia mais

Proteção. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,

Proteção. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos, Proteção Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Discutir os objetivos e o princípio basilar da proteção de um sistema Explicar como os domínios de proteção,

Leia mais

DE TREINAMENTO PROFISSIONAL -

DE TREINAMENTO PROFISSIONAL - I - 1 OCJA Módulo CENTRO DE TREINAMENTO PROFISSIONAL TREINAMENTO@KEES.COM.BR - WWW.KEES.COM.BR I - 2 PREPARATÓRIO PARA A CERTIFICAÇÃO SCJP Oracle Certified Java Associate Éver Santoro OCA, OCP, SCJA, SCJP,

Leia mais

Programação em Sistemas Computacionais

Programação em Sistemas Computacionais Programação em Sistemas Computacionais Linguagem C Introdução, tipos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Jorge Martins (jmartins@isel.pt) baseado no slides de Pedro Pereira Enquadramento

Leia mais

Grupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java

Grupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java Grupo de Usuários Java do Noroeste Paulista Introdução à tecnologia Java Referências http://www.java.sun.com; Ivan Luiz Marques Ricarte, Faculdade de Engenharia Elétrica e de Computação-UNICAMP (http://www.dca.fee.unicamp.br/~ricarte/welcome.html);

Leia mais

Introdução à plataforma Java

Introdução à plataforma Java Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves prof.gago@gmail.com O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que

Leia mais

FIC-POO. Aula 1.2 Introdução a Java e POO. Prof. Dr. Bruno Moreno

FIC-POO. Aula 1.2 Introdução a Java e POO. Prof. Dr. Bruno Moreno FIC-POO Aula 1.2 Introdução a Java e POO Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Introdução O que é Java? Linguagem de programação OO Surgiu na década de 90 Criada pela Sun Microsystems É multiplataforma:

Leia mais

Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA

Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA UNIVERSIDADE DE BRASÍLIA - UnB FACULDADE DE TECNOLOGIA - FT DEPARTAMENTO DE ENGENHARIA MECÂNICA - EME Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA Período: 1º/2001 Desenvolvimento de Applets JAVA

Leia mais

PDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno

PDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno PDS Aula 1.2 Introdução a Java, POO e Composição Prof. Bruno Moreno bruno.moreno@ifrn.edu.br JAVA: Introdução, Histórico, Conceitos Básicos 2 Introdução O que é Java? Linguagem de programação OO Década

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br C++ e POO Fundamentação de Orientação a Objetos (OO) Sintaxe básica de C++ Modelagem de sistemas orientada a

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

Leia mais

Curso Profissional de Técnico de Informática - Sistemas

Curso Profissional de Técnico de Informática - Sistemas Planificação Anual 2018/2019 Curso Profissional de Técnico de Informática - Sistemas LINGUAGENS DE PROGRAMAÇÃO 11º ANO 1 MÓDULO 4 - UFCD 0785 - Programação em C/C++ - Formas complexas Data Início/Final:

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Aula 11 Introdução ao Java Script

Aula 11 Introdução ao Java Script Aula 11 Introdução ao Java Script Java Script é uma linguagem que permite trabalhar com a Lógica em páginas escritas em HTML (HiperText Mark-up Language). As páginas HTML podem ser escritas utilizando-se

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda

Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda INTRODUÇÃO Scala é uma linguagem de programação de propósito geral projetado para expressar padrões de programação comuns de uma forma concisa. Foi desenvolvido

Leia mais

Paradigmas de Linguagem de Programação

Paradigmas de Linguagem de Programação Paradigmas de Linguagem de Programação Aula 1 - Introdução Prof. Filipo Mór 2016/II - www.filipomor.com Apresentação do Professor B.Sc. SI FDBPOA 2012 M.Sc. em CC PUCRS/DALHOUSIE 2015 Atuação na área de

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

7 Mecanismos de gestão de memória. Prof. Ricardo Silva

7 Mecanismos de gestão de memória. Prof. Ricardo Silva 7 Mecanismos de gestão de memória Prof. Ricardo Silva Introdução Um programa reside no disco sob a forma de ficheiro executável Para ser executado, o programa tem de ser colocado em memória e associado

Leia mais

Desenvolvimento OO com Java O que é Java

Desenvolvimento OO com Java O que é Java Desenvolvimento OO com Java O que é Java Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo

Leia mais

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Linguagem C Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João

Leia mais

Aula 9 Herança. Prof. Jefersson Alex dos Santos

Aula 9 Herança. Prof. Jefersson Alex dos Santos Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária

Leia mais

Linguagem de Programação II

Linguagem de Programação II Centro Federal de Educação Tecnológica de Minas Gerais - CEFET-MG Linguagem de Programação II Tiago Alves de Oliveira tiago@div.cefetmg.br Sumário UNIDADE 1 CONCEITOS BÁSICOS E AMBIENTE DE DESENVOLVIMENTO

Leia mais

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Aula teórica 7. Preparado por eng.tatiana Kovalenko Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana

Leia mais

Common Object Request Broker Architecture

Common Object Request Broker Architecture Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores

Leia mais

Algoritmos I Aula 12 Linguagem de Programação Java

Algoritmos I Aula 12 Linguagem de Programação Java Algoritmos I Aula 12 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Linguagem de Programação Histórico Em 1991, em uma empresa filiada a

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo

Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo Java e Orientação a Objetos (aula 2) Prof. Sérgio Ricardo Paradigma de Orientação a Objetos A orientação a objetos (OO) é um paradigma de análise, projeto e programação de sistemas de software baseado

Leia mais

GRUPO: Rafael Igor Vanderlei Vieira

GRUPO: Rafael Igor Vanderlei Vieira GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),

Leia mais

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira.   Tito Carlos S. Vieira Informática Básica Licenciatura em Ciência da Informação Tito Carlos S. Vieira E-mail: tito@fe.up.pt 1 Parte II Sistemas Operativos (Utilização do Windows) 2 Sumário O que é um Sistema Operativo (SO)?

Leia mais

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Introdução à Algoritmos Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Introdução aos Algoritmos: Conceitos Iniciais; Programa

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Linguagem Java Java é uma linguagem de programação orientada a objeto, desenvolvida na década

Leia mais

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Apresentação Computação e Programação (CP) 2013/2014 Aula 1 Objetivos Ficar a saber: funcionamento da unidade curricular (UC) Computação

Leia mais

A Linguagem Java no contexto de Sistemas de Tempo Real

A Linguagem Java no contexto de Sistemas de Tempo Real A Linguagem Java no contexto de Sistemas de Tempo Real Alunos: Hugo Tácito Azevedo de Sena 200318314 Ricardo Alexandre da Rocha Dias - 200618318 Sumário Objetivos Importância dos sistemas embutidos e de

Leia mais

Java e Orientação a Objetos. Prof. Sérgio Ricardo

Java e Orientação a Objetos. Prof. Sérgio Ricardo Java e Orientação a Objetos Prof. Sérgio Ricardo Paradigma de Orientação a Objetos A orientação a objetos (OO)é um paradigma de análise, projeto e programação de sistemas de softwarebaseado na composição

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Herança. Prof. Fernando V. Paulovich  23 de agosto de 2010 Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções

Leia mais

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 24 de agosto de 12

JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 24 de agosto de 12 JAVA Tópicos Especiais de Programação Orientada a Objetos 1 HISTÓRIA O Java é uma linguagem baseada no C++, seu desenvolvimento teve inicio em 1991 com a Sun Microsystems em um projeto de codinome Green.

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade Disciplina: PEOO Professor: Eberton da Silva Marinho e-mail: ebertonsm@gmail.com Data:

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais