Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos. Departamento de Informática Prof. Anselmo C.

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

Download "Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos. Departamento de Informática Prof. Anselmo C."

Transcrição

1 Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva

2 Classes O conjunto de requisições que um objeto pode cumprir é determinado pela sua classe. A classe também determina que método será executado para cumprir uma requisição. A classe especifica que informações um objeto armazena internamente. Objetos são instâncias de classes. Classes podem ser compostas em hierarquias, através de herança. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 2

3 Resumo Agentes são objetos; Ações (computações) são executadas através da troca de mensagens entre objetos; Todo objeto é uma instância de uma classe; Uma classe define uma interface e um comportamento; Classes podem estender outras classes através de herança. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 3

4 Exemplos: Objeto Vídeo 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 4 PLAY > 1456 > >>> <<< DI

5 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 5 Exemplos: Objeto Conta Bancária Crédito Saldo 875,32 Número Débito

6 Estados do Objeto Conta 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 6 Crédito(20) Crédito Crédito Crédito Saldo Número Saldo Número 875, , Saldo 895,32 Número Débito Débito Débito

7 Classe de Contas Bancárias 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 7

8 Classes em Java Em Java, a declaração de novas classes é feita através da construção class. Podemos criar uma classe Point para representar um ponto (omitindo sua implementação) da seguinte forma: class Point {... 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 8

9 Classe de Contas em Java 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 9 public class Conta { public String numero; public double saldo; public void credito (double valor) { saldo = saldo + valor; public void debito (double valor) { saldo = saldo - valor;

10 Criação de Objetos Criar objeto = instanciar classe Instanciação resulta em uma referência Produto lápis = new Produto(); lápis.id = Produto.proximo_id++; lápis.nome = Lápis ; Produto caneta = new Produto(); caneta.id = Produto.proximo_id++; caneta.nome = Caneta ; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 10

11 Criando Instâncias (Objetos) Forma geral da declaração e criação de objetos Declaração <id-classe> <lista-id>; exemplo: Conta conta1, conta2; Criação <id> = new <id-classe> (<args>); exemplo: conta1 = new Conta (); Combinando declaração e criação <id-classe> <id> = new <id-classe> (<args>) exemplo: Conta conta1 = new Conta (); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 11

12 Inicializações Blocos de inicialização execução implícita na criação de objetos static: execução implícita na leitura da classe Construtores execução na criação de objetos construtor default 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 12

13 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 13 Construtores Classes podem ter construtores servem como interfaces para inicializar objetos possuem o mesmo nome das respectivas classes similares a métodos, mas não têm tipo de retorno pode haver mais de um por classe (sobrecarga) Ex.: public class Conta { public String numero; public double saldo; public void credito (double valor) {saldo = saldo + valor; public void debito (double valor) {saldo = saldo - valor; public Conta (String n) {numero = n; saldo = 0;

14 Exemplo de Construtor class Produto { public long id; public String nome; public static long proximo_id = 0; public Produto(String nome) { this.nome = nome; this.id = proximo_id++; Produto lápis = new Produto( Lápis ); Produto caneta = new Produto( Caneta ); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 14

15 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 15 Criando Objetos com Construtores... Conta conta1; conta1 = new Conta( ); conta1.credito(500.87); conta1.debito(45.00); System.out.println(conta1.saldo);...

16 Inicialização de Campos Por exemplo, a classe Point poderia declarar: class Point { int x = 0; int y = 0; void move(int dx, int dy) { this.x += dx; this.y += dy; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 16

17 Construtores Ao invés de criar pontos sempre em (0,0), poderíamos querer especificar a posição do ponto no momento de sua criação. O uso de construtores permite isso. Construtores são mais genéricos do que simples atribuições de valores iniciais aos campos: podem receber parâmetros e fazer um processamento qualquer. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 17

18 Declaração de Construtores O construtor citado para a classe Point pode ser definido da seguinte forma: class Point { int x, y; Point(int x, int y) {... this.x = x; this.y = y; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 18

19 Usando Construtores Como o construtor é um método de inicialização do objeto, devemos utilizá-lo no momento da instanciação. Point p1 = new Point(1,2); // p1 é o ponto (1,2) Point p2 = new Point(0,0); // p2 é o ponto (0,0) 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 19

20 Construtor Padrão Quando não especificamos nenhum construtor, a linguagem Java declara, implicitamente, um construtor padrão, vazio, que não recebe parâmetros. Se declararmos algum construtor, esse construtor padrão não será mais declarado. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 20

21 Finalizações Pode ser necessário executar alguma ação antes que um objeto deixe de existir. Para isso são utilizados os destrutores. Destrutores são métodos que são chamados automaticamente quando um objeto deixa de existir. Em Java, destrutores são chamados de finalizadores. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 21

22 Gerência de Memória Java possui uma gerência automática de memória, isto é, quando um objeto não é mais referenciado pelo programa, ele é automaticamente coletado (destruído). A esse processo chamamos coleta de lixo. Nem todas as linguagens OO fazem coleta de lixo e, nesse caso, o programador deve destruir o objeto explicitamente. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 22

23 Finalizadores em Java Quando um objeto Java vai ser coletado, ele tem seu método finalize chamado. Esse método deve efetuar qualquer procedimento de finalização que seja necessário antes da coleta do objeto. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 23

24 Ex.: programa que cria e manipula 1 conta class CriaConta { /** Criando um objeto do tipo Conta */ public static void main (String [] args) { Conta conta1 = new Conta (); conta1.numero = ; // referencia a atributos conta1.saldo = 0; conta1.credito (500.87); // referencia a metodos conta1.debito (45.00); System.out.println(conta1.saldo); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 24

25 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 25 Encapsulamento em uma classe Métodos públicos Métodos privados Atributos públicos Atributos privados

26 Controle de Acesso em Java Normalmente, é conveniente proibir o acesso a certos atributos (ou mesmo métodos). Os níveis de proteção extremos são: public - permite acesso a partir de qualquer classe private - permite acesso apenas na própria classe Java oferece outros níveis de acesso que serão estudados posteriormente 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 26

27 Conseqüências de tornar um atributo privado 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 27 Tentar acessar um componente privado (de fora da classe) resulta em erro de compilação Mas como torná-lo acessível apenas para consulta (leitura)? Isto é possível definindo-se um método que retorna o atributo (na própria classe onde o atributo se encontra)

28 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 28 Classe de Contas com Atributos Privados lass Conta { private String numero; private double saldo; public void credito (double valor) {saldo = saldo + valor; public void debito (double valor) {saldo = saldo - valor; public String numero() {return numero; public double saldo() {return saldo; Conta (String n) {numero = n; saldo = 0;

29 Membros de Classe Classes podem declarar membros (campos e métodos) que sejam comuns a todas as instâncias, ou seja, membros compartilhados por todos os objetos da classe. Tais membros são comumente chamados de membros de classe (versus de objetos ). Em Java, declaramos um membro de classe usando o qualificador static. Daí, o nome membros estáticos usado em Java. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 29

30 Membros de Classe: Motivação Considere uma classe que precise atribuir identificadores unívocos para cada objeto. Cada objeto, ao ser criado, recebe o seu identificador. O identificador pode ser um número gerado seqüencialmente, de tal forma que cada objeto guarde o seu mas o próximo número a ser usado deve ser armazenado na classe. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 30

31 Membros de Classe: Um Exemplo Podemos criar uma classe que modele produtos que são produzidos em uma fábrica. Cada produto deve ter um código único de identificação. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 31

32 Membros de Classe: Codificação do Exemplo class Produto { static int próximo_id = 0; int id; Produto() { id = próximo_id; próximo_id++;... 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 32

33 Membros de Classe: Análise do Exemplo // Considere que ainda não há nenhum produto. // Produto.próximo_id = 0 Produto lápis = new Produto(); // lápis.id = 0 // lápis.próximo_id = 1 Produto caneta = new Produto(); // caneta.id = 1 // caneta.próximo_id = 2 Um só campo! 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 33

34 Membros de Classe: Acesso Direto Como os membros estáticos são da classe, não precisamos de um objeto para acessá-los: podemos fazê-lo diretamente sobre a classe. Produto.próximo_id = 200; // O próximo produto criado terá id = /12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 34

35 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 35 Membros de Classe: Outras Considerações Java possui apenas declarações de classes: a única forma de escrevermos uma função é como um método em uma classe.

36 Membros de Classe: Análise de Caso Para prover uma biblioteca matemática, Java declara uma classe, Math, que contém apenas métodos estáticos. Exemplo: calcular a distância entre dois pontos. float dx = p1.x - p2.x; float dy = p1.y - p2.y; float d = Math.sqrt(dx*dx + dy*dy); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 36

37 this revisitado 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 37 Nós vimos que um método estático pode ser chamado diretamente sobre a classe. Ou seja, não é necessário que haja uma instância para chamarmos um método estático. Dessa forma, não faz sentido que o this exista dentro de um método estático.

38 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 38 Variáveis estáticas versus atributos Enquanto cada instância da classe (objeto) tem seus próprios atributos, variáveis estáticas (ou de classe) são compartilhadas por todas as instâncias da classe

39 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 39 Exemplo: classe Contas com um gerador de números de conta prox_num = 132

40 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 40 Em Java... class ContaComGerador { private int numero; private double saldo; private static int prox_num = 1; void credito... ContaComGerador () { numero = prox_num; saldo = 0; prox_num = prox_num + 1;

41 Exercício Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o nome do candidato e inicializa o número de votos com zero. Desenvolva um programa que cria um candidato com nome de sua escolha. Em seguida, deve ser lido um nome. Se o nome lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 41

42 Métodos Manipulam o estado do objeto ou da classe Podem prover acesso aos campos private String name; public String getname() { return name; public void setname(string new_name) { name = new_name; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 42

43 Métodos Recebem parâmetros por valor Podem ser sobrecarregados public Produto() { id = proximo_id++; public Produto(String nome) { id = proximo_id++; this.nome = nome; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 43

44 Métodos Além de atributos, uma classe deve definir os métodos que irá disponibilizar, isto é, a sua interface. A classe Point pode, por exemplo, prover um método para mover o ponto de um dado deslocamento. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 44

45 Declaração de Método Para mover um ponto, precisamos saber quanto deslocar em x e em y. Esse método não tem um valor de retorno pois seu efeito é mudar o estado do objeto. class Point { int x, y; void move(int dx, int dy) { x += dx; y += dy; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 45

46 nvio de Mensagens: Chamadas de Método Em Java, o envio de uma mensagem é feito através de uma chamada de método com passagem de parâmetros. Por exemplo, a mensagem que dispara a ação de deslocar um ponto é a chamada de seu método move. p1.move(2,2); // agora p1 está deslocado de duas unidades, // no sentido positivo, nos dois eixos. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 46

47 Métodos estáticos e mensagens Da mesma forma que há variáveis estáticas (de classe) e variáveis de instância (atributos), há métodos estáticos (de classe) e métodos de instância (mensagens) Um exemplo de mensagem é o método que retorna o atributo saldo na classe Conta Mesmo que presente na mesma classe dos atributos, um método estático não tem acesso a estes Um método estático pode ser acrescentado à classe ContaComGerador para retornar o valor corrente de prox_num 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 47

48 Os métodos de um programa são sempre estáticos 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 48 class Maior { private static int maior (int x, int y) { if (x > y) return x; else return y; public static void main (String [] args) { int m, x, y; x = Console.readInt(); y = Console.readInt(); m = maior (x,y); System.out.println(m);

49 Passagem de parâmetro Em Java, a passagem é por valor, ou seja, o valor (e não o endereço) da variável é passado. Conseqüências: - Modificações no parâmetro formal não são refletidas no parâmetro real. - Uma expressão pode ser usada como argumento - Ineficiência em alguns casos (cópia) 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 49

50 Exemplo class PassagemPorValor { private static void incrementa (int x) { x = x + 1; System.out.println ( x = + x); public static void main (String [] args) { int y = 1; System.out.println( y = + y); incrementa (y); System.out.println( y = + y); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 50

51 O resultado desejado pode ser obtido assim... class PassagemPorValor { private static int incrementa (int x) { x = x + 1; System.out.println ( x = + x); return x; public static void main (String [] args) { int y = 1; System.out.println( y = + y); y = incrementa (y); System.out.println( y = + y); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 51

52 Mas a referência é passada por valor... class Referencia { private static void redefine(conta a) { Conta b = new Conta( ); a.credito(100); a = b; a.credito(100); public static void main (String [] args) { Conta c = new Conta( ); redefine (c); System.out.println(c.numero() + c.saldo()); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 52

53 Arrays Estrutura de dados que permite agrupar variáveis de um mesmo tipo Declaração <tipo> [] <lista-de-identificadores> exemplo: int [] a; Criação <identificador> = new <tipo> [<tamanho>]; exemplo: a = new int [12]; (Indexado de 0 a 11) Combinando declaração e criação <tipo> [] <identificador> = new <tipo> [<tamanho>]; exemplo: int [] a = new int [12]; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 53

54 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 54 Inicialização de arrays Arrays podem ser inicializados no momento de sua declaração: <tipo> [] <identificador> = {e1,..., en; Exemplo: a declaração String [] cores = { verde, azul, preto ; equivale a String [] cores = new String [3]; cores [0] = verde ; cores [1] = azul ; cores [2] = preto ;

55 Tamanho de um array Se a é um identificador de array, a.length dá o tamanho de a Exemplo: o método a seguir imprime um array de inteiros de tamanho arbitrário static void imprime (int [] a) { for (int i = 0; i < a.length; i = i + 1) System.out.println (a[i]); 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 55

56 Classe de Bancos: Operações 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 56 cadastro de uma nova conta crédito débito saldo transferência entre contas

57 Classe de Bancos: Descrição 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 57 class Banco { private Conta[] contas; private int indice = 0; void cadastro(conta c) { contas[indice] = c; indice = indice + 1;

58 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 58 private Conta procura(string n) { int i = 0; boolean achou = false; while ((! achou) && (i < indice)) { if (contas[i].numero().equals(n)) achou = true; else i = i + 1; if (achou) return contas[i]; else return null;

59 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 59 void debito(string num, double val) { Conta c; c = this.procura(num); if (c!= null) c.debito(val); else System.out.println("Conta inexistente!"); A operação credito é similar

60 Exercício Completar a implementação da classe Banco com o construtor e os métodos transfere e saldo. Acrescente um novo método para remover uma conta 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 60

61 Exercício 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 61 Desenvolva um sistema simples de eleição, usando a classe já implementada para modelar um candidato. Definir uma outra classe para agrupar candidatos (usando arrays). Elabore um programa que lê um número arbitrário de nomes de candidatos e efetua a contagem; no final, indique o vencedor e o total de votos.

62 Exercício 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 62 Desenvolva um sistema simples para controle de estoque, contendo pelo menos as classes Produto e Estoque, e as seguintes operações: alterar as propriedades dos produtos (nome, preço, quantidade em estoque), retirar um produto do estoque, e verificar que produtos precisam ser repostos.

63 Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga de métodos. Sobrecarregar um método significa prover mais de uma versão de um mesmo método. As versões devem, necessariamente, possuir algo que as diferencie: tipo e/ou número de parâmetros ou tipo do valor de retorno. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 63

64 Sobrecarga de Construtores Como dito anteriormente, ao criarmos o construtor da classe Point para inicializar o ponto em uma dada posição, perdemos o construtor padrão que, não fazendo nada, deixava o ponto na posição (0,0). Nós podemos voltar a ter esse construtor usando sobrecarga. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 64

65 Sobrecarga de Construtores: Exemplo de Declaração class Point { int x = 0; int y = 0; Point() { Point(int x, int y) { this.x = x; this.y = y;... 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 65

66 Sobrecarga de Construtores: Exemplo de Uso Agora temos dois construtores e podemos escolher qual usar no momento da criação do objeto. Point p1 = new Point(); // p1 está em (0,0) Point p2 = new Point(1,2); // p2 está em (1,2) 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 66

67 Encadeamento de Construtores Uma solução melhor para o exemplo dos dois construtores seria o construtor vazio chamar o construtor que espera suas coordenadas, passando zero para ambas. Isso é um encadeamento de construtores. Java suporta isso através da construção this(...). A única limitação é que essa chamada seja a primeira linha do construtor. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 67

68 Exemplo revisitado class Point { int x, y; Point() { this(0,0); Point(int x, int y) { this.x = x; this.y = y;... 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 68

69 Sobrecarga de Métodos Pode ser feita da mesma maneira que fizemos com os construtores. Quando sobrecarregamos um método, devemos manter a semântica: não é um bom projeto termos um método sobrecarregado cujas versões fazem coisas completamente diferentes. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 69

70 Sobrecarga de Métodos: Exemplo de Uso A classe Math possui vários métodos sobrecarregados. Note que a semântica das várias versões são compatíveis. int a = Math.abs(-10); // a = 10; double b = Math.abs(-2.3); // b = 2.3; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 70

71 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 71 Critérios para Modularidade Decomposição capacidade de decompor o problema em sub-problemas (top-down). Composição capacidade de construir partes básicas que possam ser compostas para construir novos sistemas (bottom-up). Entendimento capacidade de criar módulos que facilitem o entendimento. Continuidade capacidade de absorver pequenas mudanças de especificação dentro de poucos módulos, sem ter que alterar a arquitetura. Proteção capacidade de conter situações anormais dentro dos módulos.

72 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 72 Princípios de Modularidade Lingüística Modular Módulos devem corresponder a unidades sintáticas da linguagem. Poucas Interfaces Módulos devem se comunicar com o menor número possível de outros módulos. Acoplamento Fraco Se dois módulos se comunicam, eles devem trocar a menor quantidade de informações possível. Acoplamento Explícito Se dois módulos se comunicam, essa comunicação deve estar explicitamente indicada. Ocultação de Informações Toda informação sobre um módulo deve ser privada, a menos que seja explicitamente declarada pública.

73 Modularidade OO No paradigma OO, um módulo, atendendo ao primeiro princípio, pode ser implementado por uma classe. Para determinarmos que classes devem ser criadas, devemos olhar os cinco critérios. Ao definirmos uma classe, devemos ter em mente os quatro demais princípios. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 73

74 Modularidade em Java: Pacotes Java provê um recurso adicional que ajuda a modularidade: o uso de pacotes. Um pacote é um conjunto de classes e outros pacotes. Pacotes permitem a criação de espaços de nomes, além de mecanismos de controle de acesso. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 74

75 Pacotes: Espaços de Nomes Pacotes, a princípio, possuem nomes. O nome do pacote qualifica os nomes de todas as classes e outros pacotes que o compõem. Exemplo: classe Math. int a = java.lang.math.abs(-10); // a = 10; 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 75

76 Pacotes: Controle de Acesso Além de membros públicos e privados, temos também membros package. Um membro package só pode ser acessado por classes declaradas no mesmo pacote da classe que declara esse membro. Quando omitimos o modificador de controle de acesso, estamos dizendo que o membro é do tipo package. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 76

77 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 77 Tipos de Visibilidade (até agora) Os membros que vínhamos declarando eram do tipo package pois sempre omitimos o modificador de controle de acesso. class A { private int i; public class B { int j;... public int k;

78 Implementação de Pacotes Pacotes são tipicamente implementados como diretórios. Os arquivos das classes pertencentes ao pacote devem ficar em seu diretório. Hierarquias de pacotes são construídas através de hierarquias de diretórios. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 78

79 Empacotando uma Classe Para declararmos uma classe como pertencente a um pacote, devemos: declará-la em um arquivo dentro do diretório que representa o pacote; declarar, na primeira linha do arquivo, que a classe pertence ao pacote. 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 79

80 Importação de Pacotes Podemos usar o nome simples (não qualificado) de uma classe que pertença a um pacote se importarmos a classe. A importação de uma classe (ou classes de um pacote) pode ser feita no início do arquivo, após a declaração do pacote (se houver). As classes do pacote padrão java.lang não precisam ser importadas (Ex.: Math). 10/12/200 Classes e Objetos Prof. Anselmo Cardoso de Paiva 80

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

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

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

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

Programação com Acesso a BD. Programação com OO Acesso em Java 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

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

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

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

Revisão OO Básico. Orientação a Objetos em Java

Revisão OO Básico. Orientação a Objetos em Java Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a

Leia mais

Aula 11: Desvios e Laços

Aula 11: Desvios e Laços Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam

Leia mais

Introdução à orientação a objetos

Introdução à orientação a objetos Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 9 Tipos Abstratos de Dados (c) Dept. Informática - PUC-Rio 1 Tópicos Módulos e compilação em separado Tipo abstrato de dados Exemplo 1: TAD Ponto Exemplo 2: TAD Círculo Exemplo 3:

Leia mais

ENG1000 Introdução à Engenharia

ENG1000 Introdução à Engenharia ENG1000 Introdução à Engenharia Aula 09 Vetores e Matrizes Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos

Leia mais

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos

Leia mais

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves Tópicos Apresentação Entidade, Atributo e Relacionamento Cardinalidade Representação simbólica Generalizações / Especializações Agregações Apresentação O Modelo Entidade-Relacionamento tem o objetivo de

Leia mais

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé O que veremos hoje? Análise e Projeto Definição Comparação Análise e Projeto OO Definição

Leia mais

FastCube 2.0 Programmer Manual

FastCube 2.0 Programmer Manual FastCube 2.0 Programmer Manual I FastCube 2.0 Programmer Manual Table of contents Chapter I Arquitetura do FastCube 2 2 Chapter II Utilizaçã o dos componentes do FastCube 5 1 Salvar... e carregar um cubo

Leia mais

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26 Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e

Leia mais

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads.

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções

Leia mais

Java na Prática. Célio Silva Aula 3

Java na Prática. Célio Silva Aula 3 Java na Prática Célio Silva Aula 3 Java na Prática Collections List List são listas de coisa ordenadas/não ordenadas, com duplicações permitidas e com um índice Servem para encapsular código de tratamento

Leia mais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos

Leia mais

Algoritmos APRENDENDO A PROGRAMAR COM C#

Algoritmos APRENDENDO A PROGRAMAR COM C# Algoritmos APRENDENDO A PROGRAMAR COM C# Alô Mundo AULA 01 Conhecendo o ambiente O objetivo principal desse programa não é mostrar a mensagem Alo Mundo. O objetivo é apresentar o ambiente de desenvolvimento

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

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar

Leia mais

Curso C: Ponteiros e Arrays

Curso C: Ponteiros e Arrays Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Programação Orientada a Objetos SANTOS, Rafael

Programação Orientada a Objetos SANTOS, Rafael Programação Orientada a Objetos SANTOS, Rafael É parte do software, e deve atender os requisitos do usuário Controla o hardware, incluindo periféricos de entrada e saída Usa um conjunto de comandos e regras:

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Objetos e Classes Programação Orientada ao Objeto O paradigma da Orientação ao Objeto é um mecanismo que ajuda a definir

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Structs 1. Utilizando estrutura, fazer um programa em C que permita

Leia mais

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS ESTUDO DE CASO I Uma das operações oferecidas pelos sistemas bancários para seus clientes é a emissão de extratos da conta corrente ou do cartão de crédito. Esses relatórios permitem que o cliente possa

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?

Leia mais

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial Álgebra Linear Aplicada à Compressão de Imagens Universidade de Lisboa Instituto Superior Técnico Uma Breve Introdução Mestrado em Engenharia Aeroespacial Marília Matos Nº 80889 2014/2015 - Professor Paulo

Leia mais

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3 Sumário Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3 Capítulo 2. Importação de Dados de Instituições Financeiras - Arquivo XML 12 Capítulo 1. Importação de Dados de Instituições

Leia mais

2 Segmentação de imagens e Componentes conexas

2 Segmentação de imagens e Componentes conexas Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático

Leia mais

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:

Leia mais

MODELAGENS. Modelagem Estratégica

MODELAGENS. Modelagem Estratégica Material adicional: MODELAGENS livro Modelagem de Negócio... Modelagem Estratégica A modelagem estratégica destina-se à compreensão do cenário empresarial desde o entendimento da razão de ser da organização

Leia mais

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases) MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55 DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único

Leia mais

Manual SAGe Versão 1.2

Manual SAGe Versão 1.2 Manual SAGe Versão 1.2 Equipe de Pesquisadores do Projeto Conteúdo 1. Introdução... 2 2. Criação da Equipe do Projeto (Proposta Inicial)... 3 2.1. Inclusão e configuração do Pesquisador Responsável (PR)...

Leia mais

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira. Acordo Financeiro Produto : RM - Totvs Gestão Financeira 12.1.1 Processo : Acordo Financeiro Subprocesso : Template de Acordo Controle de Alçada Negociação Online Data da publicação : 29 / 10 / 2012 Os

Leia mais

BC-0505 Processamento da Informação

BC-0505 Processamento da Informação BC-0505 Processamento da Informação 0.Declarar Variáveis/ Atributos (Armazenar Dados) 1.Entrada de Dados (Obter dados = Leitura) double raio = 0; double area = 0; double PI = 3.14159; 2.Processamento (=

Leia mais

Sobre o Visual C++ 2010

Sobre o Visual C++ 2010 O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas

Leia mais

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),

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

Programação de Computadores I. Linguagem C Função

Programação de Computadores I. Linguagem C Função Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional

Leia mais

Arquitetura de Computadores Sistemas Operacionais II

Arquitetura de Computadores Sistemas Operacionais II Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa

Leia mais

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados: O Paradigma Orientado a Objetos Paradigma e Programação Orientada a Objetos Prof. João Carlos Pinheiro jcpinheiro@ifma.edu.br 1 Não é um paradigma no sentido estrito: é uma subclassificacão do imperativo

Leia mais

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS Listas Lineares Como visto anteriormente, as operações básicas para o nosso TAD Lista Linear são: FLVazia Vazia Retira Insere Imprime A implementação através de arrays

Leia mais

Capítulo 9 - Imagens. Imagens

Capítulo 9 - Imagens. Imagens Capítulo 9 - Imagens 9 Imagens EM JAVASCRIPT, É POSSÍVEL MANIPULAR COM AS IMAGENS DE UMA PÁGINA, alterando a URL que localiza o arquivo de imagem. Assim, pode-se trocar a imagem que está sendo exibida

Leia mais

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede Magento v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Instruções iniciais 4 4.2 Instalação e

Leia mais

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida Aula II jquery UI Introdução O que é jquery UI? Biblioteca que fornece maior nível de abstração para interação

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Orientação a Objetos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Redes de Computadores

Redes de Computadores Nível de rede Inst tituto de Info ormátic ca - UF FRGS Redes de Computadores Nível de rede Aula 6 Aplicação Apresentação Sessão Transporte Rede Enlace Físico Protocolo nível de aplicação Protocolo nível

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data

Leia mais

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access CRIAÇÃO DE TABELAS NO ACCESS Criação de Tabelas no Access Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Criação de um Banco de Dados... 4 3. Criação de Tabelas... 6 4. Vinculação de tabelas...

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed. 2006. Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO

Leia mais

Recursão. Em Java... Exemplo: Série de Fibonacci. Iteração e recursão. Exercícios. Especialização em Engenharia de Software - CEUT

Recursão. Em Java... Exemplo: Série de Fibonacci. Iteração e recursão. Exercícios. Especialização em Engenharia de Software - CEUT Especialização em Engenharia de Software Recursão Programação Orientada a Objetos Listas e Arquitetura em Camadas Sérgio Soares scbs@cin.ufpe.br Capacidade de um procedimento, método ou função ser definido

Leia mais

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas.

Leia mais

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios O Método Intuitivo de elaboração de circuitos: As técnicas de elaboração de circuitos eletropneumáticos fazem parte

Leia mais

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

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

Exercício de Estrutura de dados. Java Fila

Exercício de Estrutura de dados. Java Fila Exercício de Estrutura de dados Java Fila Obs.: Esse projeto foi um exercício realizado em sala de aula da matéria de Estrutura de dados com o Profº Frederico Augusto Siqueira Gentil Aqui está sendo relatado

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

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Introdução à Programação de Computadores Parte I

Introdução à Programação de Computadores Parte I Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado

Leia mais

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 Dados de identificação do Acadêmico: Nome: Login: CA: Cidade:

Leia mais

Padrões de Projeto. Factory Method

Padrões de Projeto. Factory Method Padrões de Projeto Padrões de Criação Factory Method Prof. Eduardo N F Zagari Prof. Ivan Granja Factory Method Também conhecido como Construtor Virtual Em muitas aplicações OO, um objeto cliente precisa

Leia mais

Prova de Fundamentos de Bancos de Dados 1 a Prova

Prova de Fundamentos de Bancos de Dados 1 a Prova Prova de Fundamentos de Bancos de Dados 1 a Prova Prof. Carlos A. Heuser Abril de 2009 Prova sem consulta duas horas de duração 1. (Peso 2 Deseja-se projetar um banco de dados para o sítio de uma prefeitura.

Leia mais

Método de ordenação - objetivos:

Método de ordenação - objetivos: Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São

Leia mais

M =C J, fórmula do montante

M =C J, fórmula do montante 1 Ciências Contábeis 8ª. Fase Profa. Dra. Cristiane Fernandes Matemática Financeira 1º Sem/2009 Unidade I Fundamentos A Matemática Financeira visa estudar o valor do dinheiro no tempo, nas aplicações e

Leia mais

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0 Portal de Sistemas Integrados Manual do Usuário Versão: 1.0 Página: 1/33 Índice 1. Apresentação... 3 2. Descrição do Sistema... 3 3. Orientações Gerais ao Usuário...4 3.1. Senhas de Acesso... 4 4. Funcionalidades

Leia mais

MANUAL DO PUBLICADOR

MANUAL DO PUBLICADOR MANUAL DO PUBLICADOR Brasília 2010/2013 1 SUMÁRIO 1 Introdução... 5 2 O Sistema... 5 2.1 Módulos do Sistema... 6 2.2 Perfis do Sistema... 6 2.2.1 Perfil Publicador... 7 3 Publicar Documentos - Publicador...

Leia mais

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota P1 22/09/2010 Matrícula: Turma: Questão 1) (3,5 pontos) O Índice de Desenvolvimento Humano (IDH) é uma medida do bemestar de uma população. Engloba três dimensões: educação (E), longevidade (L) e a riqueza

Leia mais

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo

Leia mais

Programação WEB I Funções

Programação WEB I Funções Programação WEB I Funções Funções As funções podem ser definidas como um conjunto de instruções, agrupadas para executar uma determinada tarefa. Dentro de uma função pode existir uma chamada a outra função.

Leia mais

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 09 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 6. Introdução ao MS Access O Microsoft

Leia mais

MS1122 v3.0 Instalação e Considerações Importantes

MS1122 v3.0 Instalação e Considerações Importantes MS1122 v3.0 Instalação e Considerações Importantes O conteúdo deste documento é destinado a quem já possui algum conhecimento e deseja utilizar algumas REDEs comerciais disponíveis... V3.0 R2 Operadoras

Leia mais

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Introdução Existem situações onde é necessário repetir um determinado trecho de um programa um certo número de vezes. Assim,

Leia mais

TUTORIAL MATLAB Victor Breder 2016

TUTORIAL MATLAB Victor Breder 2016 TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra

Leia mais

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas

Leia mais

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos) Ministério da Saúde Secretaria Executiva Departamento de Informática do SUS HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos) Manual do Usuário Versão 1.0 Fevereiro, 2014 Índice

Leia mais

8 Crie um pequeno sistema para controle automatizado de estoque, com os seguintes registros:

8 Crie um pequeno sistema para controle automatizado de estoque, com os seguintes registros: TRABALHO: REGISTROS 8 Crie um pequeno sistema para controle automatizado de estoque, com os seguintes registros: CLIENTES NOTAS ITENS_NOTAS PRODUTOS Cod_cliente Num_NF Num_NF Cod_produto Endereco Cod_cliente

Leia mais

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo Assessoria Técnica de Tecnologia da Informação - ATTI Projeto de Informatização da Secretaria Municipal de Saúde do Município de São Paulo Programa Bolsa Família Manual de Operação Conteúdo Sumário...

Leia mais

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras Apresentar a próxima etapa da modelagem de dados: o modelo lógico e os conceitos de tabelas, chaves primárias e estrangeiras e como o banco de dados

Leia mais

Análise de Requisitos

Análise de Requisitos Análise de Requisitos Análise de Requisitos O tratamento da informação é um requisito que fundamenta o processo de desenvolvimento de software antes da solução de tecnologia a ser aplicada. Cada projeto

Leia mais

Programação para Web HTML - Parte 2

Programação para Web HTML - Parte 2 Programação para Web HTML - Parte 2 Professor: Harlley Lima E-mail: harlley@decom.cefetmg.br Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais Belo Horizonte, 2 de março

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

Fundamentos de Programação. Diagrama de blocos

Fundamentos de Programação. Diagrama de blocos Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do

Leia mais

Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys

Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys Introdução ao Script Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys O que é Bash Script? O que é Bash + Script? O que é Bash? O que é Bash? Ele é um

Leia mais

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões Prof. Carlos A. Heuser Dezembro de 2009 Duração: 2 horas Prova com consulta Questão 1 (Construção de modelo ER) Deseja-se projetar a base de

Leia mais