Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais



Documentos relacionados
Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Orientação a Objetos com Java

Programação Orientada a Objetos em Java

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini

2 Orientação a objetos na prática

Implementando uma Classe e Criando Objetos a partir dela

CURSO DE PROGRAMAÇÃO EM JAVA

Java. Marcio de Carvalho Victorino

1. Apresentação Objetivos

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Herança. Alberto Costa Neto DComp - UFS

Introdução a Java. Hélder Nunes

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Programação Avançada

Polimorfismo. Prof. Leonardo Barreto Campos 1

Profº. Enrique Pimentel Leite de Oliveira

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Orientação a Objetos

Prof. Esp. Adriano Carvalho

Prof. Jhonatan Fernando

Linguagem de Programação III

Técnicas de Programação II

DEFINIÇÃO DE MÉTODOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

3 Classes e instanciação de objectos (em Java)

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Reuso com Herança a e Composiçã

Análise e Projeto Orientados por Objetos

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

POO Programação Orientada a Objetos. Classes em Java

Orientação a Objetos com Java

Um pouco do Java. Prof. Eduardo

Linguagens de. Aula 02. Profa Cristiane Koehler

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Análise e Projeto Orientados por Objetos

Programação Orientada por Objetos

Programação Orientada a Objetos

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Projeto de Software Orientado a Objeto

Tópicos em Engenharia de Computação

Componentes da linguagem C++

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Java TM e o Modelo de Objetos

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Módulo 06 Desenho de Classes

Universidade da Beira Interior Cursos: 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

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

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

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Noções sobre Objetos e Classes

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Professor: Douglas Sousa Cursos de Computação

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Sobre o Professor Dr. Sylvio Barbon Junior

Módulo 07 Características Avançadas de Classes

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Introdução à Linguagem Java

Programação Orientada a Objetos

Programação com Acesso a BD. Programação com OO Acesso em Java

Roteiro do Programa e Entrada/Saída

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Orientação a Objetos com Java

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

PROGRAMAÇÃO JAVA. Parte 1

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Programação por Objectos. Java

Programação Orientada a Objetos em Java. Herança

LINGUAGEM ORIENTADA A OBJETOS

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

PROGRAMA DE DISCIPLINA

UML Aspectos de projetos em Diagramas de classes

Unidade IV: Ponteiros, Referências e Arrays

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

AULA Uma linguagem de programação orientada a objetos

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Qualidade de Software

Aspectos técnicos do desenvolvimento baseado em componentes

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Prof. Esp. Adriano Carvalho

Transcrição:

Curso de Java Orientação a objetos e a Linguagem JAVA

Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo

A Linguagem JAVA Principais características: Orientação ao objetos Exceções multi-thread Liberação automática de memória Independência de Plataforma

Linguagens de Programação Ao se aprender uma nova linguagem de programação, normalmente se estuda sintaxe tipos de dados (básicos, compostos, definidos pelo usuário) operadores comandos de controle funções entrada e saída bibliotecas Essas características são comuns à maioria das linguagens ditas "de uso geral". Esse é o caso de C, C++, Pascal, VB e também de C#.

Ambiente de Execução Um programa, para ser executado, precisa de um conjunto de 'serviços de apoio' que normalmente são oferecidos pelo sistema operacional. Em VB, por exemplo, as funções para criação da interface de usuário são exemplos de funções que acessam esses 'serviços de apoio'. Normalmente os serviços oferecidos pelo sistema operacional são disponibilizados através de funções de biblioteca.

Ambiente de Execução O conjunto de serviços oferecidos pelo sistema operacional não é padronizado afeta a estrutura das aplicações Essa dependência compromete a portabilidade dos sistemas. Por essa razão, alguns fabricantes têm trabalhado na linha de oferecer um 'ambiente de execução' aos programas que seja independente da máquina e do sistema operacional.

Máquina Virtual JAVA A máquina virtual Java, JVM, constitui o ambiente de execução para programas Java. É através da JVM que se consegue a independência de plataforma: para cada plataforma (hardware + sistema operacional) é implementada uma versão da JVM. Uma vez compilado, o código pode ser executado em qualquer JVM.

JVM x Ambiente.net Código Java Compilador JAVA ByteCode JVM Windows JVM Linux JVM mainframe Windows Código VB Compilador VB ByteCode Ambiente.net Código C# Compilador C# ByteCode Código Cobol Compilador Cobol ByteCode Código Executável

Objetos Objetos reunem num único elemento as características estáticas e comportamentais. Características estáticas são representadas como dadosassociados ao objeto. Elas descrevem o estado atual do objeto. Características dinâmicas são descritas através de operações ou métodos executados pelo objeto. Estadoe comportamentosão partes integrantes do objeto.

Objetos Um exemplo Dados: descrevem o estado atual do objeto. Funcionário nome endereço registro cargo salario_bruto situação data de admissão Operações: métodos que descrevem os aspectos dinâmicos do objeto. calcular_salário_líquido() atualizar_situação() alterar_cargo() calcular_fgts() verificar_saldo_férias()

Encapsulamento Um objeto encapsulanuma única entidade o seu estado e os métodos que definem o seu comportamento. Consequência acoplamento mais fraco entre as diversas partes do sistema menor probabilidade de interferências espúrias entre as partes do sistema

Métodos e Mensagens A execução de um métodoé disparada pelo envio de uma mensagem ao objeto. A execução do método é a interpretaçãoque o objeto dá à mensagem. desenha(azul) Triângulo origem p1 p2 desenha(cor) pinta(cor)

Métodos e Mensagens Objetos diferentes podem dar interpretações diferentes a uma mesma mensagem desenha(azul) Triângulo origem p1 p2 desenha(cor) pinta(cor) desenha(azul) Retângulo origem largura altura desenha(cor) pinta(cor)

Objetos e Classes Um objeto é um conceito, abstraçãoou algo que tenha um significado bem definido para o problema em questão uma classedescreve um grupo de objetoscom o mesmo conjunto de propriedades(atributos), os mesmos relacionamentoscom outros objetos e a mesma semântica(operações ou métodos) Um objeto é uma instância (ou um exemplar) de uma classe.

Objetos e Classes João... Maria... Pedro... Todos os objetos da classe funcionário oferecem a mesma interface e mantêm o mesmo conjunto de atributos. Ana... classe Funcionário José... Cada instância no entanto tem os seus próprios valores para os cada um dos atributos

Herança Uma classe pode dar origem a outras classes através de herança(ou especialização). Os objetos da classe derivadaherdam da classe origem (ou classe-mãe) todos os atributos e métodos. A classe derivada pode estender a classe-mãe agregando novos atributos e métodos. Ela pode também redefinir métodos da classe-mãe.

Herança classe-mãe classe- derivada Figura origem desenha(cor) pinta(cor) move(dx,dy) Triângulo origem p1 p2 desenha(cor) pinta(cor) Retângulo origem largura altura desenha(cor) pinta(cor) generalização

Polimorfismo Numa situação onde se espera um objeto de uma determinada classe C é sempre possível utilizar um objeto de uma classe derivada de C. desenhar a figura

Os pilares da OO Encapsulamento, herança e polimorfismo constituem os pilares da orientação a objetos. Encapsulamento melhora a modularidade do sistema disciplina as interfaces reduz interferências entre as partes Herança e polimorfismo fatoração de elementos comuns favorece o reuso

Objetos Um tipo de dado define um conjunto de valores um conjunto de operações sobre esses valores. Uma classe define um conjunto de dados um conjunto de métodos Um objeto é um 'elemento' de uma classe Cada objeto tem os seus dados associados

Um exemplo Suponha uma classe que define frações. Cada objeto dessa classe tem associado um valor correspondente ao numerador um valor correspondente ao denominador um conjunto de operações (soma, subtração, etc.)

Um exemplo public class Fracao { int num; // numerador int den; // denominador /* construtor */ public Fracao(int n, int d){ int m = mdc(n,d); num = n/m; den = d/m; } public String tostring() { return "("+num+"/"+den+")"; } private static int mdc(int a, int b){ while (a!= b) if(a > b) a = a - b; else b = b - a; return a; } public Fracao soma(fracao f){ return new Fracao(f.num*den + num*f.den, f.den*den); } public Fracao mult(fracao f){ return new Fracao(f.num*num,f.den*den); } public float tofloat(){ return (float)num / (float)den; } }

Um exemplo Nesse exemplo o método public Fracao(int n, int d){ } int m = mdc(n,d); num = n/m; den = d/m; é o construtor dessa classe: utilizado para a criação de objetos dessa classe. tem o mesmo nome que a classe inicia os atributos do objeto sendo criado (neste caso i e r). exemplo de uso: Fracao f = new Fracao(12,32); o modificador publicindica que o método pode ser utilizado por outras classes que façam parte do projeto ou usem o pacote que contém a classe.

Um exemplo Nesse exemplo a declaração das 'variáveis' int num; int den; define os dados ou atributosassociados a cada objeto da classe. os atributos definidos dessa forma só podem utilizados pelos métodos da classe onde são definidos.

Um exemplo Nesse exemplo o método public string tostring(){ return "("+num+ /"+dem+")"; é responsável pela conversão de um objeto Fracao para string. Exemplo: Supondo a declaração Fracao f = new Fracao(2,3); ao fazermos c.tostring(), o valor retornado será o string "(2/3)" o operador + na expressão "("+num+ /"+den+")" é usado para realizar a concatenação de strings. o modificador publicpermite que o método tostring()seja usado por outras classes.

Um exemplo public class Teste1 { } /** * @param args */ public static void main(string[] args) { Fracao f1 = new Fracao(1,2); Fracao f2 = new Fracao(2,3); System.out.println("f1:"+f1.toString()+ " = " + f1.tofloat()); System.out.println("f2:"+f2.toString()+ " = " + f2.tofloat()); System.out.println("f1+f2:"+f1.soma(f2).toString()); System.out.println("f1*f1:"+f1.mult(f2).toString()); }

Um exemplo Nesse exemplo os objetos f1e f2são criados através da chamada ao construtor. Essas variáveis são apenas referências a objetos. quando declaramos uma variável da forma Fracao f1; estamos declarando uma referência a um objeto que ainda não está definido. ao fazermos a atribuição f1 = new Fracao(1,2); estamos indicando que c1passa a se referir ao objeto criado através do construtor. Se fizermos uma atribuição da forma f2 = f1; fazemos com que f1 e f2 sejam referências aos mesmos objetos.