Implementação de Classe e Auto-Relacionamento em Java

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

Download "Implementação de Classe e Auto-Relacionamento em Java"

Transcrição

1 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida para o armazenamento das informações dos elementos ou classes que irão trabalhar em conjunto para solucionar um problema ou desafio. Sendo esse diagrama um modelo conceitual, existe a necessidade de verificar a validade e completude desse modelo. Uma das formas de se fazer isso é por meio de implementação, ou geração de códigos em uma linguagem de programação Orientada a Objetos e realizações de testes de seu uso. Neste material, será analisado um modelo de uma classe que possui um relacionamento com ela mesmo. Quando isso ocorre, diz-se que há um Auto- Relacionamento. Como objeto de estudo, definine-se uma classe que representa o conceito Disciplina. Considera-se, neste exemplo, que uma Disciplina possa possuir ou não como pré-requisitos outras instâncias da Disciplina. Ou seja, ela se relaciona com ela mesmo por meio do conceito pré-requisito. Por exemplo, na Figura 1 a seguir, a disciplina EL65E possui como pré-requisito as disciplinas EL64E, EL64F e EL64G. A disciplina EL64E, por sua vez, possui como pré-requisito a disciplina FI64A. Como essa estrutura poderia ser representada em um Modelo Orientado a Objetos? Para responder a essa questão, este documento está divido em 5 Seções. Na Segunda Seção, apresenta-se o cartão CRC da classe Disciplina. Na Seção 3, a partir do cartão CRC, o modelo UML da classe é definido e apresentado. Nesse instante, destacase que novas responsabilidades que não foram definidas no cartão CRC foram criadas com a finalidade de orientar o programador de computador e também facilitar ou permitir o (re)uso da classe. A Seção 4 apresenta a implementação da classe Disciplina. Encerrando este documento, na Seção 5 um exercício é deixado para o aluno resolver. De maneira similar ao apresentado anteriormente, o programador de computador deve ter a liberdade de definir ou personalizar a implementação. Ou seja, o programador

2 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 2 de computador implementa além dos métodos e atributos definidos no Diagrama de Classes UML, novos métodos e atributos que ele/ela achar necessário. Figura 1 - Grade parcial do Curso de Engenharia Industrial Elétrica da UTFPR, campus Curitiba adaptada para o exemplo investigado. 2)Representação Classe Disciplina O Cartão CRC apresentado na Figura 2, define os atributos ou conhecimentos que um elemento da classe Disciplina deve possuir. Figura 2 - CRC da Classe Disciplina

3 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 3 O cartão CRC representado na Figura 2 possui na área de Colaboradores, uma própria instância da classe Disciplina. O Auto-Relacionamento ocorre quando é definido como colaborador para uma classe, um exemplar da própria classe. Nesse caso, no canto à direita do cartão CRC existe uma referência à própria classe do cartão, a classe Disciplina. Isso acontece pois uma disciplina pode possuir nenhum, um ou vários prérequisitos e esse pré-requisito é uma outra instância da classe Disciplina. 3)Diagrama UML da Classe Disciplina A Figura 3, a seguir, apresenta o Diagrama de Classe da Classe Disciplina definida no cartão CRC ilustrado na Figura 2. Alguns detalhes e considerações utilizadas nessa representação merecem destaque, a saber: No diagrama UML, cada responsabilidade indicada no CRC, pode ser um atributo ou um método. As responsabilidades Codigo, Nome, Quantidade de Aulas Teóricas, Quantidade de Aulas Práticas e Quantidade de Aulas a Distância definidas no cartão CRC da Figura 2 foram representadas no diagrama da Figura 3. Os Anexos 6a), 6b), 6c) e 6d) ilustram a associação entre as responsabilidades do cartão CRC e o Diagrama de Classe. Cada atributo foi definido com o modificador de acesso private ou privado. Isso é apenas uma recomendação: atributos devem ser definidos com acesso private ou protected. Essa representação é indicada pelo sinal - que precede o atributo. Para cada atributo, métodos de acesso geters e seters de visibilidade pública foram definidos. Por exemplo, os métodos públicos +setnome(v: String) : void e +getnome() : String estão associados ao atributo Nome. A responsabilidade pre-requisito, por sua vez não foi representada de maneira explícita no diagrama. De acordo com o diagrama, esse auto-relacionamento possui a multiplicidade 0..*. Essa multiplicidade significa que a quantidade de prérequisitos pode variar de instância de classe para instância de classe. O Anexo 6e) ilustra a associação entre a representação do Auto-Relacionamento do Diagrama UML e o cartão CRC. Cada linguagem de programação fornece ao programador um conjunto de opções para representar o Auto-Relacionamento. Por exemplo, na linguagem C++, poder-seia representar, por exemplo, com listas, vetores ou arrays esse conjunto de

4 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 4 elementos. Por outro lado, na linguagem Java, outras opções também estão disponíveis. Para deixar o programador livre para definir qual será a forma de implementação desse grupo de elementos, optou-se apenas por definir um método de inclusão e outro de remoção de pré-requisito. Os métodos são addprerequesitonecessario(disciplina) e removeprerequisitonecessario (Disciplina). As duas últimas responsabilidades definidas no cartão CRC lista de quem sou prérequisito e lista pré-requisitos necessários foram definidas como dois métodos no diagrama de classes. Esses métodos são: listaprerequisitosnecessarios() e listadequemsouprerequisito( ). Três outros métodos foram definidos no diagrama de classes e que não foram previstos no cartão CRC. Esses métodos são: i) print( ), ii) equals(disciplina) e iii) clone( ). O método print( ) imprime as informações consideradas importantes do conceito Disciplina. Por sua vez, o método equals(disciplina), verifica se duas instâncias da classe disciplina podem ser consideradas iguais. O método clone( ) fornece uma cópia da instância. Dois construtores também foram definidos. Um deles, não recebe argumento algum e o outro, recebe o código da disciplina e o seu respectivo nome. O Auto-Relacionamento denominado por prerequisito é representado por uma linha que inicia e termina na própria classe. A multiplicidade desse relacionamento é 0..*. Essa multiplicidade informa que uma determinada instância da classe Disciplina pode possuir nenhum, um pré-requisito ou vários.

5 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 5 Figura 3 - UML - Diagrama de Classe da Classe Disciplina 4.Implementação em Java A definição da assinatura da classe é apresentada no arquivo Disciplina.h a seguir. Algumas decisões realizadas necessitam ser exclarecidas, a saber: os atributos Nome e Codigo da Figura 3 foram definidos como elementos String. o Auto-Relacionamento é representado por elementos Vector ou ArrayList. Nesse exemplo definiu-se as duas opções para armazenar as disciplinas que são prerequisitos e também de quais disciplinas a classe é pre-requisito. Alguns métodos que não foram definidos no Diagrama de Classes da Figura 3 foram definidos durante a programação. Esses métodos são: java.util.vector getprerequisitos(); > definida com a finalidade de mostrar como um método pode ter uma instância da classe vector de retorno.

6 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 6 boolean tenhoprerequisitonecessario(disciplina v); > definido apenas como método auxiliar para os outros métodos. Por não ter sido definido no Diagrama de Classes, poderia ter sua visibilidade privada. boolean souprerequisito(disciplina v); > definido apenas como método auxiliar para os outros métodos. Por não ter sido definido no Diagrama de Classes, poderia ter sua visibilidade privada. 4.1 Arquivo Disciplina.java package autorelacionamento; /** * robinsonnoronha */ import java.util.vector; public class Disciplina { private!! String Codigo; private!! String Nome; private!! int QuantidadeAulasTeoricas; private!! int QuantidadeDeAulasPraticas; private! int QuantidadeDeAulasDistancia; private! Vector prerequisitonecessarios = new Vector( ); private! java.util.arraylist<disciplina> dequemsouprerequisito = new java.util.arraylist<disciplina>(); public! Disciplina(String v_codigo, String v_nome) { this();// chamada para o contrutor sem parâmetros.!!! setnome(v_nome);!!! setcodigo(v_codigo); public Disciplina() { QuantidadeAulasTeoricas=0; QuantidadeDeAulasDistancia=0; QuantidadeDeAulasPraticas=0;

7 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 7 public void setquantidadeaulasteoricas(int v) { if (v>=0) QuantidadeAulasTeoricas = v; public void setquantidadeaulaspraticas(int v) { if (v>=0 ) QuantidadeDeAulasPraticas = v; public void setquantidadeaulasdistancia(int v) { if (v>=0 ) QuantidadeDeAulasDistancia = v; public int getquantidadeaulasteoricas(){return QuantidadeAulasTeoricas; public int getquantidadeaulaspraticas(){return QuantidadeDeAulasPraticas; public int getquantidadeaulasdistancia(){return QuantidadeDeAulasDistancia; public void setnome(string v){nome = v.touppercase(); public String getnome(){return Nome; public void setcodigo(string v){codigo=v; public String getcodigo(){return Codigo; public void addprerequisitonecessario(disciplina v) { if (tenhoprerequisitonecessario(v) == false) { prerequisitonecessarios.add(v); v.souprerequisito(this); public void removeprerequisitonecessario(disciplina v) { prerequisitonecessarios.remove(v); v.dequemsouprerequisito.remove(this); public Vector getprerequisitos(){return prerequisitonecessarios; public boolean tenhoprerequisitonecessario(disciplina v) { return prerequisitonecessarios.contains(v); public boolean souprerequisito(disciplina v) { return dequemsouprerequisito.contains(this); public void listaprerequisitosnecessarios() { int i=0; System.out.println("\nQuantidade de Pre-Requisitos Necessarios:" +prerequisitonecessarios.size() +"\n"); for ( i = 0; i < prerequisitonecessarios.size(); i++) { System.out.println("\n Codigo: " + ((Disciplina)this.preRequisitoNecessarios.get(i)).getCodigo()

8 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 8 + "\t Nome: " + ((Disciplina)this.preRequisitoNecessarios.get(i)).getNome() ); public void listadequemsouprerequisito() { int i=0; System.out.println("Quantidade de Disciplinas em que sou Pre-Requisito: " + this.dequemsouprerequisito.size() + "\n" ); for ( i = 0; i < this.dequemsouprerequisito.size(); i++) { System.out.println("\n Codigo: " + ((Disciplina)this.deQuemSoupreRequisito.get(i)).getCodigo() + "\t Nome: " + ((Disciplina)this.deQuemSoupreRequisito.get(i)).getNome() ); public boolean equals(disciplina v) {boolean saida=false; if (v.getcodigo().equals(codigo)) if (v.getnome().equals(nome)) if (v.quantidadeaulasteoricas == this.quantidadeaulasteoricas) if (v.quantidadedeaulasdistancia == this.getquantidadeaulasdistancia()) if (v.quantidadedeaulaspraticas == this.quantidadedeaulaspraticas) saida = true; return saida; public void print() { System.out.print("\n"); for (int i = 0; i < 70; i++) System.out.print( "="); System.out.print("\n"); System.out.println( "Disciplina Codigo: " + this.codigo + "\n" + "Disciplina Nome: " + this.nome + "\n"

9 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 9 + "Disciplina Quantidade de Aulas Teoricas: " + this.quantidadeaulasteoricas + "\n" + "Disciplina Quantidade de Aulas Praticas: " + this.quantidadedeaulaspraticas + "\n" + "Disciplina Quantidade de Aulas a Distancia: " + this.quantidadedeaulasdistancia + "\n" + "Total das aulas: " + ); (this.quantidadeaulasteoricas + this.quantidadedeaulasdistancia + this.quantidadedeaulaspraticas) + "\n" listaprerequisitosnecessarios(); listadequemsouprerequisito(); public Disciplina clone() { Disciplina saida = new Disciplina(); saida.setcodigo(codigo); saida.setnome(nome); saida.setquantidadeaulasteoricas(quantidadeaulasteoricas); saida.setquantidadeaulaspraticas(this.quantidadedeaulaspraticas); saida.setquantidadeaulasdistancia(this.quantidadedeaulasdistancia); return saida; //fim do arquivo java 4.3 O Arquivo de teste Main.java package autorelacionamento; /** * robinsonnoronha */ public class Main { public static void main(string[] args) { Disciplina MA61B = new Disciplina("MA61B", "Matematica 1"); MA61B.setQuantidadeAulasTeoricas(90); Disciplina MA61A= new Disciplina("MA61A","Calculo 1");

10 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 10 MA61A.setQuantidadeAulasTeoricas(90); Disciplina MA62A= new Disciplina("MA62A","Calculo 2"); MA62A.setQuantidadeAulasTeoricas(60); Disciplina FI63A= new Disciplina("FI63A","Fisica 3"); FI63A.setQuantidadeAulasTeoricas(45); FI63A.setQuantidadeAulasPraticas(60); FI63A.addPreRequisitoNecessario(MA61B); FI63A.addPreRequisitoNecessario(MA61A); Disciplina FI64A= new Disciplina("FI64A","Fisica 4"); FI64A.setQuantidadeAulasTeoricas(60); FI64A.addPreRequisitoNecessario(FI63A); // recebe os pre-requesitos. System.out.println( "\n Pre-requesitos da Disciplina FI63A:\n"); java.util.vector l = FI63A.getPreRequisitos(); System.out.println("\n Quantidade de Pre-Requisitos:" + l.size() + "\n"); for(int i=0; i < l.size(); i++) { ((Disciplina)l.get(i)).print(); System.out.println( "\n Clone:" + "\n"); Disciplina clonefi63a = FI63A.clone(); if (clonefi63a.equals(fi63a)==true) System.out.println("\n Iguais \n"); else System.out.println( "\n Diferentes clone e original" ); FI63A.print(); FI63A.removePreRequisitoNecessario(MA61B); FI63A.print(); 4.3 Resultado da Execução. Pre-requesitos da Disciplina FI63A: Quantidade de Pre-Requisitos:2 ====================================================================== Disciplina Codigo: MA61B Disciplina Nome: MATEMATICA 1

11 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 11 Disciplina Quantidade de Aulas Teoricas: 90 Disciplina Quantidade de Aulas Praticas: 0 Disciplina Quantidade de Aulas a Distancia: 0 Total das aulas: 90 Quantidade de Pre-Requisitos Necessarios:0 Quantidade de Disciplinas em que sou Pre-Requisito: 0 ====================================================================== Disciplina Codigo: MA61A Disciplina Nome: CALCULO 1 Disciplina Quantidade de Aulas Teoricas: 90 Disciplina Quantidade de Aulas Praticas: 0 Disciplina Quantidade de Aulas a Distancia: 0 Total das aulas: 90 Quantidade de Pre-Requisitos Necessarios:0 Quantidade de Disciplinas em que sou Pre-Requisito: 0 Clone: Iguais ====================================================================== Disciplina Codigo: FI63A Disciplina Nome: FISICA 3 Disciplina Quantidade de Aulas Teoricas: 45 Disciplina Quantidade de Aulas Praticas: 60 Disciplina Quantidade de Aulas a Distancia: 0 Total das aulas: 105 Quantidade de Pre-Requisitos Necessarios:2 Codigo: MA61B Nome: MATEMATICA 1 Codigo: MA61A Nome: CALCULO 1 Quantidade de Disciplinas em que sou Pre-Requisito: 0 ====================================================================== Disciplina Codigo: FI63A Disciplina Nome: FISICA 3 Disciplina Quantidade de Aulas Teoricas: 45 Disciplina Quantidade de Aulas Praticas: 60 Disciplina Quantidade de Aulas a Distancia: 0 Total das aulas: 105 Quantidade de Pre-Requisitos Necessarios:1 Codigo: MA61A Nome: CALCULO 1 Quantidade de Disciplinas em que sou Pre-Requisito: 0

12 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 12 BUILD SUCCESSFUL (total time: 0 seconds) 5. Exercício a) Implementar e testar a classe Pessoa e o Auto-Relacionamento casada_com. b) A Classe Pessoa do exercício 5 foi modificada, para o Exercício 5b) Além do Auto-relacionamento cada_com com multiplicidade 0..1, um novo Auto- Relacionamento deve ser implementado. Esse novo Auto-Relacionamento é denominado amizadecom e possui multiplicidade 0..*. Modificar a classe Pessoa implementada no exercício 5a) de tal forma que ela represente esse novo Diagrama de Classe.

13 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ) Anexos a) b)

14 UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 14 c) d) e)

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível. Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

Programação Orientada a Objetos. Encapsulamento

Programação Orientada a Objetos. Encapsulamento Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências

Leia mais

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario Projeto de sistemas em Java Algoritmos e Programação I Aula 25 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Agora que já estamos manipulando com mais

Leia mais

Programação Visual TIC - 3PA. Lista de Exercícios 02

Programação Visual TIC - 3PA. Lista de Exercícios 02 Programação Visual TIC - 3PA Lista de Exercícios 02 Professor: Edwar Saliba Júnior 1) Elabore um programa para simular uma conta de poupança. Crie uma classe contacorrente com os seguintes atributos: saldo,

Leia mais

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

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para

Leia mais

public void setdata(data d) { data = d;

public void setdata(data d) { data = d; class Data... public class Compromisso private Data data; private int hora; private String descricao; /**java.lang.string*/ public Compromisso() public Compromisso(Data data, int hora, String descricao)

Leia mais

5 Caso de estudo O cartão fidelidade

5 Caso de estudo O cartão fidelidade 5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante

Leia mais

Classes Abstratas e Interfaces

Classes Abstratas e Interfaces Java Básico Classes Abstratas e Interfaces Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Novembro/2005 Classe abstrata Recurso avançado da OO Não pode ser instanciada Deve ser instanciada

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Templates e Pilhas. 1. Introdução

Templates e Pilhas. 1. Introdução Templates e Pilhas 1. Introdução Templates ou Generics é considerado uma forma de polimorfismo [1]. É uma forma de programar onde o tipo do dado não é considerado. Programa-se para um tipo de dado indefinido.

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Construção de novas Classes em Java. Classes Atributos Métodos Herança... Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(

Leia mais

Algoritmos e Programação II. Sobrecarga

Algoritmos e Programação II. Sobrecarga Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque

Leia mais

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

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 3 Prof. ISVega Fevereiro de 2004 Estilo de Codificação CONTEÚDO 3.1 Regras

Leia mais

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação Java Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação 1 Tabelas para quê? As tabelas são utilizadas quando se pretende armazenar e manipular um grande número de

Leia mais

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los

Leia mais

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;} 2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação

Leia mais

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

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Classe e Objeto Atributo Operação Associações (Delegações [SANTOS, 2003]) Dependência Simples: multiplicidade, papel, navegabilidade Com valor semântico adicional: agregação

Leia mais

O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java.

O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java. Exceções em Java Miguel Jonathan DCC/IM/UFRJ (rev. abril de 2011) Resumo dos conceitos e regras gerais do uso de exceções em Java O uso de exceções permite separar a detecção da ocorrência de uma situação

Leia mais

Java na WEB Componentes Bean

Java na WEB Componentes Bean 1 Java na WEB Componentes Bean Objetivo: Ao final da aula o aluno será capaz de: Criar site dinâmico utilizando componentes Bean Utilizar Tags de ação Empregar Coleções de Bean. Sumário 5. Definição de

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados

Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classe e Auto- Relacionamento em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na

Leia mais

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua. 7 Animação Animações é um dos quesitos muito importantes em jogos, você não acha? Para isso o JPlay tem uma classe específica para lidar com animações. Essa classe se chama Animation. Bem sugestivo o nome

Leia mais

Capítulo 3. Programação por objectos em Java

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

RELACIONAMENTOS ENTRE CLASSES

RELACIONAMENTOS ENTRE CLASSES UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 RELACIONAMENTOS ENTRE CLASSES Conteúdo Introdução...2 Tipos de Relacionamentos...3 O Relacionamento de Dependência ( precisa de )...5

Leia mais

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

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas Introdução Programação Orientada a Objetos: Reuso Alexandre César Muniz de Oliveira Hierarquia de classes está associada a forma como se distribui conceitos (comportamentos) entre as unidades que compõem

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

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

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

INSTITUTO DE COMPUTAÇÃO UNICAMP 1o. SEMESTRE DE 2009. Profa. Cecília M. F. Rubira

INSTITUTO DE COMPUTAÇÃO UNICAMP 1o. SEMESTRE DE 2009. Profa. Cecília M. F. Rubira INSTITUTO DE COMPUTAÇÃO UNICAMP 1o. SEMESTRE DE 2009 Profa. Cecília M. F. Rubira Sala 13, cmrubira@ic.unicamp.br Versão: 1.1 Data: 22 de abril de 2009. Estudo de Caso: Sistema de Folha de Pagamento Este

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

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

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único Pacotes e Encapsulamento Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface

Leia mais

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()

Leia mais

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

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI PCO203 Tópicos Especiais em Programação Enzo Seraphim 1 Padrões de Operação

Leia mais

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ... Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public

Leia mais

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com. Aula 04 Operadores e Entrada de Dados Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Operadores: Aritméticos; Atribuição; Concatenação;

Leia mais

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

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

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

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010 Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar os principais conceitos da orientação a objetos; Capacitar o

Leia mais

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA ESTRUTURA BÁSICA DE UM PROGRAMA JAVA Prof. Angelo Augusto Frozza, M.Sc. // Primeiro programa em Java public class PrimeiroPrograma { public static void main(string [] args) { System.out.println("Programação

Leia mais

Capítulo 5 Reuso de Classes

Capítulo 5 Reuso de Classes Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

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/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; um objeto; é definido; Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo; class ClasseBase{ é instanciado; $objetobase = new ClasseBase; Caso queira,

Leia mais

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

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

Java Coleções. Rodrigo C. de Azevedo

Java Coleções. Rodrigo C. de Azevedo Java Coleções Rodrigo C. de Azevedo OMG Certified UML Professional Fundamental OMG Certified UML Professional Intermediate CompTIA Project+ Sun Certified Associate for Java Platform Sun Certified Programmer

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do

Leia mais

Instruções de controle: Parte 1. 2005 by Pearson Education do Brasil

Instruções de controle: Parte 1. 2005 by Pearson Education do Brasil 1 4 Instruções de controle: Parte 1 2 4.2 Algoritmos Algoritmos: As ações a executar. A ordem em que essas ações executam. Controle do programa: Especifica a ordem em que as ações são executadas em um

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

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

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

Leia mais

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

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

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Componentes da Estrutura Estruturando Aplicações OO em Camadas 2 Arquitetura em 1 camada Todas as

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br

Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Um Exemplo de Refatoração Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Exemplo Programa para calcular e imprimir o valor devido por um cliente de uma vídeo locadora Filme códigopreço:int 1 * * 1 Locação

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais