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

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

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

Transcrição

1 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 A OBJETOS EM JAVA Assuntos abordados: Implementação de classes simples Instanciação de classes e execução de aplicações simples Construtores e propriedades de classe AULA PRÁTICA Nº 4 1 Introdução Nesta prática serão explorados alguns conceitos de programação orientada a objetos, como classes, objetos, métodos, atributos e construtores. Será construída uma classe que implementa uma conta corrente bancária e outra classe de teste com um método main, para usá-la e testá-la. Além disso, aprenderemos como usar os modificadores de acesso private e public, a fim de permitir que alguns atributos de uma classe sejam acessíveis somente para os seus métodos (private) ou que sejam acessíveis também para métodos de outras classes (public). Por fim, veremos como utilizar janelas gráficas de entrada e saída de dados, a fim de tornar a aparência dos aplicativos (programas) mais atrativa para o usuário. Antes disso, vamos fazer uma breve explanação a respeito do paradigma procedural e orientado a objetos. 2 Motivação: problemas de programação procedural Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural. Consideremos o clássico problema da validação de um CPF. Normalmente, temos um formulário, no qual recebemos essa informação, e depois temos que enviar esses caracteres para uma função que irá validá-lo, como no pseudocódigo abaixo: cpf = formulário->campo_cpf valida(cpf) Alguém te obriga a sempre validar esse CPF? Você pode, inúmeras vezes, esquecer de chamar esse validador. Mais: considere que você tem 50 formulários e precise validar em todos eles o CPF. Se sua equipe tem 3 programadores trabalhando nesses formulários, quem fica responsável por essa validação? Todos! A situação pode piorar: na entrada de um novo desenvolvedor, precisaríamos avisá-lo que sempre devemos validar o cpf de um formulário. É nesse momento que nasce aqueles guias de programação para o desenvolvedor que for entrar nesse projeto (as vezes é um documento enorme). Em outras palavras, todo desenvolvedor precisa ficar sabendo de uma quantidade enorme de informações, que na maioria das vezes não está realmente relacionado à sua parte no sistema, mas ele precisa ler tudo isso, resultando um entrave muito grande! Outro ponto onde fica claro os problemas da programação procedural é quando nos encontramos na necessidade de ler o código que foi escrito por outro desenvolvedor e que somos usuário desse pedaço do sistema. Um sistema bem encapsulado não deveria gerar essa necessidade. Em um sistema grande simplesmente não temos tempo de ler uma grande parte do código. Considerando que você não erre neste ponto e que sua equipe tem uma comunicação muito grande, ainda temos outro problema: imagine que agora em todo formulário você também quer que a idade

2 do cliente também seja validada, precise ser maior de 18 anos. Vamos ter de colocar um if... mas onde? Espalhado por todo seu código... Mesmo que se crie outra função para validar, precisaremos incluir isso nos nossos 50 formulários já existentes. Qual é a chance de esquecermos em um deles? É muito grande. A responsabilidade de verificar se o cliente tem ou não tem 18 anos, ficou espalhada por todo seu código. Seria interessante poder concentrar essa responsabilidade em um lugar só, para não ter chances de esquecer. Melhor ainda seria se conseguíssemos mudar essa validação e os outros programadores nem precisassem ficar sabendo disso. Em outras palavras, eles criariam formulários e um único programador seria responsável pela validação: os outros nem sabem da existência desse trecho de código. Um mundo ideal? Não, o paradigma da orientação a objeto facilita tudo isso. O problema é que não existe uma conexão entre seus dados! Não existe uma conexão entre seus dados e suas funcionalidades! A idéia em OO é ter essa amarra através da linguagem. 3 Definindo um tipo (classe) Considere um programa para um banco, é bem fácil perceber que uma entidade extremamente importante para o nosso sistema é a conta. Nossa idéia aqui é generalizarmos alguma informação, juntamente com funcionalidades que toda conta deve ter. O que toda conta possui e é importante para nós? número da conta nome do cliente saldo limite O que toda conta faz e é importante para nós? Isto é, o que gostaríamos de pedir à conta. saca uma quantidade x deposita uma quantidade x imprime o nome do dono da conta devolve o saldo atual transfere uma quantidade x para uma outra conta y devolve o tipo de conta Com isso temos o projeto de uma conta bancária. Podemos pegar esse projeto e acessar seu saldo? Não. O que temos ainda é o projeto. Antes precisamos construir uma conta, para poder acessar o que ela tem, e pedir para ela fazer alguma coisa. 2 Revisão de OO em Java - Prática

3 Repare na figura: apesar do papel do lado esquerdo estar especificado uma Conta, essa especificação é uma Conta? Nós depositamos e sacamos dinheiro desse papel? Não. Utilizamos a especificação da Conta para poder criar instâncias, que realmente são contas, onde podemos realizar as operações que criamos. Apesar de declararmos que toda conta tem um saldo, um número e uma agência no pedaço de papel (como a esquerda na figura), são nas instâncias desse projeto que realmente há espaço para armazenas esses valores. Ao projeto da conta, isto é, a definição da conta, damos o nome de classe. O que podemos construir a partir desse projeto, que são as contas de verdade, damos o nome de objetos. A palavra classe vem da taxonomia da biologia. Todos os seres vivos de uma mesma classe biológica têm uma série de atributos e comportamentos em comuns, mas não são iguais, podem variar nos valores desses atributos e como realizam esses comportamentos. Homo Sapiens define um grupo de seres que possuem características em comuns, porém a definição (a idéia, o conceito) de um Homo Sapies é um ser humano? Não. Tudo está especificado na classe Homo Sapiens, mas se quisermos mandar alguém correr, comer, pular, precisaremos de uma instância de Homo Sapiens, ou então de um objeto do tipo Homo Sapiens. Outro exemplo: uma receita de bolo. A pergunta é certeira: você come uma receita de bolo? Não. Precisamos instanciá-la, criar um objeto bolo a partir dessa especificação (a classe) para utilizá-la. Podemos criar centenas de bolos a partir dessa classe (a receita, no caso), eles podem ser bem semelhantes, alguns até idênticos, mas são objetos diferentes. Podemos fazer milhares de analogias semelhantes. A planta de uma casa é uma casa? Definitivamente não. Não podemos morar dentro de uma planta de uma casa, nem podemos abrir sua porta ou pintar suas paredes. Precisamos antes construir instâncias a partir dessa planta. Essas instâncias sim, nós podemos. Pode parecer óbvio, mas a dificuldade inicial do paradigma da orientação a objetos é justo saber distinguir o que é classe e o que é objeto. É comum o iniciante utilizar, obviamente de forma errada, essas duas palavras como sinônimas. 4 Criando uma classe Conta Corrente simples 1) Crie uma nova classe chama Conta. 2) A classe conta terá um atributo (o saldo) e dois métodos (um para depositar e outro para sacar), conforme o código a seguir: 1 package Banco; 2 3 public class Conta 4 // atributos da classe: 5 double saldo; 6 // métodos da classe: 7 public void sacar (double valorsaque) 8 9 saldo = saldo - valorsaque; public void depositar (double valordeposito) saldo = saldo + valordeposito; Revisão de OO em Java - Prática

4 3) A linha 5 declara o atributo saldo da classe Conta, do tipo double (aceita números reais em dupla precisão). 4) A linha 7 declara o método sacar que aceita um parâmetro chamado valorsaque. Parâmetros são utilizados para passar valores diferentes para os métodos. Por exemplo, cada saque terá provavelmente um valor diferente, de modo que o parâmetro valorsaque conterá sempre o valor que o correntista deseja sacar. Dessa forma, o mesmo método pode ser utilizado para vários saques de valores diferentes. 5) Crie uma classe de testes com o nome TestaConta, com um método main, para que possa ser executada como um programa. Esta classe deve criar (instanciar) um objeto da classe Conta, fazer um depósito inicial, fazer um saque e imprimir o valor do saldo. A classe de teste deve se assemelhar com o código abaixo: 1 package Banco; 2 3 import java.util.*; 4 5 public class TestaConta 6 7 public static void main (String[] args) 8 9 Conta cc1 = new Conta(); 10 Scanner sc = new Scanner(System.in); 11 System.out.println("Entre com o deposito inicial em R$ "); 12 double depositoinicial = sc.nextdouble(); 13 cc1.depositar(depositoinicial); 14 System.out.println("Entre com o valor do saque em R$ "); 15 double saque = sc.nextdouble(); 16 cc1.sacar(saque); 17 System.out.printf("O saldo atual é R$ %.2f", cc1.saldo); ) A linha 9 cria (instancia) um novo objeto da classe Conta, referenciado pelo nome cc1. 7) A linha 13 invoca (chama) o método depositar passando como argumento 1 o valor que o usuário digitou e foi armazenado na variável depositoinicial na linha 12. 8) A linha 16 invoca o método sacar passando como argumento o valor que o usuário digitou e foi armazenado na variável saque na linha 15. 9) Compile e execute o programa. Faça primeiramente um teste considerando que o valor do depósito inicial é maior que o valor do saque (conforme esperado). 10) Agora teste novamente, fazendo um saque maior do que o valor do depósito inicial. Um banco aceitaria ter uma conta com saldo negativo se o cliente não tem cheque especial (ou seja, não tem limite de crédito)? Provavelmente a resposta é não. 11) Modifique o método que faz o saque para testar se o saldo é suficiente (comando de seleção). Em caso negativo, imprima uma mensagem na tela. Teste novamente. 1 Quando se invoca (chama) o método para executá-lo, o termo correto é argumento, enquanto que na definição do método (código que implementa o método) o termo correto é parâmetro. 4 Revisão de OO em Java - Prática

5 5 Usando o construtor para inicializar atributos Podemos melhorar a implementação da classe Conta se incluirmos novos atributos que contemplem um limite de crédito estabelecido pelo banco para cada conta. Também seria interessante que tanto o saldo como o limite (atributos da classe Conta) fossem imediatamente inicializados sempre que um novo objeto (instância) da classe fosse criado. A linguagem JAVA permite que estas operações sejam feitas mediante o uso do construtor da classe. Assim como seus métodos, o construtor de uma classe possui seus parâmetros, que servem para inicializar os atributos da classe por meio da passagem de argumentos, no momento em que um objeto da classe é instanciado. 1) Modifique a classe Conta para usar o construtor e assim inicializar o limite e o saldo. O método sacar também deve ser modificado, para testar o valor do limite. public class Conta // atributos da classe: double saldo; double limite; // construtor da classe: public Conta (double valorsaldo, double valorlimite) saldo = valorsaldo; // inicializa o valor do saldo limite = valorlimite; // inicializa o valor do limite // métodos da classe: public void sacar (double valorsaque) if (saldo + limite - valorsaque >= 0) saldo = saldo valorsaque; 2) Modifique a classe TestaConta para usar o construtor e assim inicializar o limite e o saldo: package Banco; import java.util.*; public class TestaConta public static void main (String[] args) // cria objeto sc da classe Scanner: Revisão de OO em Java - Prática

6 Scanner sc = new Scanner(System.in); System.out.println("Entre com o deposito inicial em R$ "); double depositoinicial = sc.nextdouble(); // estabelece limite fixado pelo banco para a conta cc1: double limite1 = ; // cria objeto cc1 da classe conta e inicializa atributos: Conta cc1 = new Conta(depositoInicial, limite1); System.out.println("Entre com o deposito adicional em R$ "); double depositoadicional = sc.nextdouble(); cc1.depositar(depositoadicional); System.out.println("Entre com o valor do saque em R$ "); double saque = sc.nextdouble(); cc1.sacar(saque); System.out.printf("O saldo atual é R$ %.2f", cc1.saldo); 6 Usando o modificador de acesso private 1) Em programação orientada a objetos, uma boa prática de programação é deixar os atributos de uma classe acessíveis somente para os seus próprios métodos, ou seja, aqueles definidos dentro da classe. Neste exemplo, a classe TestaConta não deveria ter acesso ao atributo saldo da classe Conta. No entanto, como nenhum modificador de acesso foi especificado na declaração do atributo saldo, foi assumido o default public que permite o acesso irrestrito aos outros objetos. Esse atributo deveria ser privativo da classe (private). 2) Altere a classe Conta, tornando privativo o atributo saldo, conforme se vê abaixo: private double saldo; 3) Compile o programa novamente. Agora um erro ocorreu porque o acesso não é mais permitido ao atributo saldo na classe TestaConta. 4) A solução é criar um método na classe Conta para obter o valor do atributo saldo. Normalmente esse tipo de método (que obtém o valor de um atributo) tem o nome iniciado com a palavra get em inglês: public double getsaldo () return saldo; 5) A palavra-chave return é usada para que o método retorne um valor a quem o chamou (no caso, a classe TestaConta deseja saber o valor do saldo). O tipo do dado do valor de retorno é especificado antes do nome do método. Repare que o método getsaldo é declarado public double" e não public void como os outros dois métodos 6 Revisão de OO em Java - Prática

7 anteriores. Isso significa que esse método retorna um valor do tipo double. Como os métodos anteriores não retornam nenhum valor, a palavra chave void deve ser usada. 6) Altere também a classe TestaConta, para que em vez de acessar o saldo diretamente, o método getsaldo seja usado: double saldo = cc1.getsaldo(); System.out.printf("O saldo atual é R$ %.2f", saldo); 7) Compile e rode o programa para testar as modificações realizadas. 7 Entrada e Saída Gráfica Uma maneira de tornar os aplicativos (programas) mais atrativos para o usuário é por meio da utilização de janelas gráficas para realizar a entrada e saída de dados. 1) Altere a classe TestaConta para que a entrada e saída de dados seja realizada por meio de janelas gráficas: package Banco; import java.util.*; // importa o pacote para uso de janelas gráficas: import javax.swing.joptionpane; public class TestaConta public static void main (String[] args) double depositoinicial; String depositoinicialstr = new String(); // exibe janela de diálogo pedindo entrada do usuário: depositoinicialstr = JOptionPane.showInputDialog("Entre com o deposito inicial em R$ "); depositoinicial = Double.parseDouble(depositoInicialStr); // estabelece limite fixado pelo banco para a conta cc1: double limite1 = ; // cria objeto cc1 da classe conta e inicializa atributos: Conta cc1 = new Conta(depositoInicial, limite1); String saquestr = new String(); String saldostr = new String(); Revisão de OO em Java - Prática

8 saquestr = JOptionPane.showInputDialog("Entre com o valor do saque em R$ "); double saque1 = Double.parseDouble(saqueStr); cc1.sacar(saque1); double saldo1 = cc1.getsaldo(); // Saída de dados - apresenta saldo na janela de diálogo saldostr = "O saldo atual é R$ " + saldo1; JOptionPane.showMessageDialog(null, saldostr); 2) As janelas têm o seguinte aspecto: 8 Exercícios 1) Inclua o CPMF na classe conta. O CPMF é um imposto de 0,38% sobre todas as operações de movimentação na conta, que neste caso é a operação de saque. Dica: declare uma variável para armazenar o valor acumulado da CPMF, acumule a cada operação de saque e ao calcular o saldo. 2) Faça uma transferência bancária (criar duas contas e sacar de uma e depositar na outra). 3) Crie um método na classe Conta que retorna o valor do saldo com o limite e imprima o valor do saldo com o limite na classe de teste. 4) Crie um MENU de opções para o usuário: 1. Depósito 2. Saque 3. Transferência 4. Saldo 8 Revisão de OO em Java - Prática

9 9 Extra: Objetos são acessados por referências (Você não pode deixar de entender!!) Quando declaramos uma variável para associar a um objeto, na verdade, essa variável não guarda o objeto, e sim uma maneira de acessá-lo, chamada de referência. É por esse motivo que, diferente dos tipos primitivos como int e long, precisamos dar new depois de declarada a variável. O correto aqui é dizer que c1 se refere a um objeto. Não é correto dizer que c1 é um objeto, pois c1 é uma variável referência, apesar de que depois de um tempo os programadores java falem Tenho um objeto c do tipo Conta, mas apenas para encurtar a frase Tenho uma referência c a um objeto do tipo Conta. Basta lembrar que em java uma variável nunca é um objeto. Não há no java uma maneira de criarmos o que é conhecido como objeto pilha ou objeto local, pois todo objeto em java, sem exceção, sempre é acessado por uma variável referência. Esse código nos deixa na seguinte situação: Internamente, c1 e c2 vão guardar um número que identifica em que posição da memória aquela Conta se encontra. Dessa maneira, ao utilizarmos o. para navegar, o java vai acessar a Conta que se encontra naquela posição de memória, e não uma outra. Para quem conhece, é parecido com um ponteiro, porém você não pode manipulá-lo e utilizá-lo para guardar outras coisas. Agora vamos a outro exemplo: Revisão de OO em Java - Prática

10 Qual é o resultado do código acima? O que aparece ao rodar? O que acontece aqui? O operador = copia o valor de uma variável. Mas qual é o valor da variável c1? É o objeto? Não. Na verdade, o valor guardado é a referência (endereço) para onde o objeto se encontra na memória principal. Na memória, o que acontece nesse caso: Quando fizemos c2 = c1, c2 passa a fazer referência para o mesmo objeto que c1 referencia nesse instante. Então, nesse código em específico, quando utilizamos c1 ou c2 estamos nos referindo a exatamente o mesmo objeto! Elas são duas referências distintas, porém apontam para o mesmo objeto! Compará-las com == irá nos retornar true, pois o valor que elas carregam é o mesmo! Outra forma de perceber é que demos apenas um new, então só pode haver um objeto Conta na memória. Atenção: não estamos discutindo aqui a utilidade de fazer uma referência apontar para o mesmo objeto que outra referência está apontando. Essa utilidade ficará mais clara quando passarmos variáveis do tipo referência como argumento para métodos. Podemos então ver outra situação: O operador == compara o conteúdo das variáveis, mas essas variáveis não guardam o objeto, e sim o endereço em que ele se encontra. Como em cada uma dessas variáveis guardamos duas contas criadas diferentemente, eles estão em espaços diferentes da memória, o que faz o teste no if valer false. As contas podem ser equivalentes no nosso critério de igualdade, porém eles não são o mesmo. Quando se trata de objetos, pode ficar mais fácil pensar que o == compara se os objetos (referências na verdade) são o mesmo, e não se são iguais. 10 Revisão de OO em Java - Prática

11 Para saber se dois objetos tem o mesmo conteúdo, você precisa comparar propriedade por propriedade. Veremos uma solução mais elegante para isso também. 10 Extra: Atributos de Classe Imagine a situação de nosso banco de também querermos controlar a quantidade de contas existentes no sistema. Como poderíamos fazer isto? A idéia mais simples: Aqui voltamos em um problema parecido com o da validação de CPF comentada na seção 2. Estamos espalhando um código por toda aplicação, e quem garante que vamos conseguir lembrar de incrementar a variável totaldecontas toda vez? Tentamos então, passar para a seguinte proposta: Quando criarmos duas contas, qual será o valor do totaldecontas de cada uma delas? Vai ser 1. Pois cada uma tem essa variável. A propriedade é de cada objeto. (Lembre-se é uma variável de instância!) Seria interessante então, que essa variável fosse única, compartilhada por todos os objetos dessa classe. Dessa maneira, quando mudasse através de um objeto, o outro enxergaria o mesmo valor. Para fazer isso em java, declaramos a variável como static. Quando declaramos um atributo como static, ele passa a não ser mais um atributo de cada objeto, e sim um atributo da classe (variável de classe), a informação fica guardada pela classe, não é mais individual para cada objeto. Para acessarmos uma propriedade estática, não usamos a palavra chave this, e sim o nome da classe: Revisão de OO em Java - Prática

12 Já que o atributo é privado, como podemos acessar essa informação a partir de outra classe? Precisamos de um getter para ele! Como fazemos então para saber quantas contas foram criadas? Note que através da chamada acima sempre precisamos criar uma conta antes de chamar o método! Isso não é legal, pois gostaria de saber quantas contas existem sem precisar ter acesso a um objeto conta. A idéia aqui é a mesma, transformar esse método que todo objeto conta tem, para ser um método de toda a classe. Usamos a palavra static de novo, mudando o método anterior. Para acessar esse novo método de classe: Repare que estamos chamando um método não com uma referência para uma Conta, e sim usando o nome da classe. Mais adiante no curso de POO abordaremos em mais detalhes os métodos de classe. 12 Revisão de OO em Java - Prática

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

Desenvolvimento OO com Java Orientação a objetos básica

Desenvolvimento OO com Java Orientação a objetos básica Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal

Leia mais

Disciplina: Programação III Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 70

Disciplina: Programação III Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 70 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 70 3.7 TRABALHANDO COM CLASSES E OBJETOS Origem: Capítulo 3 Introdução a classes e Objetos. Livro: Java Como Programar, Deitel & Deitel,

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

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

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

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

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

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

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

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

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

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

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

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

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

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

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

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

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

Roteiro do Programa e Entrada/Saída

Roteiro do Programa e Entrada/Saída Roteiro do Programa e Entrada/Saída c Professores de ALPRO I Faculdade de Informática PUCRS 03/2012 ALPRO I (FACIN) Roteiro do Programa e E/S 03/2012 1 / 32 Sumário 1 Relembrando 2 Programa Definição de

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

NetBeans. Conhecendo um pouco da IDE

NetBeans. Conhecendo um pouco da IDE NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica

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

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

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

3.5. Cuidado com o modelo anêmico

3.5. Cuidado com o modelo anêmico 3.5. Cuidado com o modelo anêmico public Periodo adiaumasemana() { Calendar novofim = (Calendar) this.fim.clone(); novofim.add(calendar.day_of_month, 7); return new Periodo(inicio, novofim); E, com uma

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: PRIMEIRO PROGRAMA EM JAVA (COMPILAÇÃO

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

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

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

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

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

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

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

Leia mais

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

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

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Projeto de Software Orientado a Objeto

Projeto de Software Orientado a Objeto Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software

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

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

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

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

APOSTILA 2015 TÉCNICAS DE PROGRAMAÇÃO PROFESSOR: ALEXANDRE. Técnicas de Programação 2º PD 2015 1

APOSTILA 2015 TÉCNICAS DE PROGRAMAÇÃO PROFESSOR: ALEXANDRE. Técnicas de Programação 2º PD 2015 1 APOSTILA 2015 TÉCNICAS DE PROGRAMAÇÃO PROFESSOR: ALEXANDRE Técnicas de Programação 2º PD 2015 1 1. Como Aprender Java 1.1 - O que é realmente importante? Muitos livros, ao passar dos capítulos, mencionam

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Linguagem de Programação I. Orientação a Objetos em Java

Linguagem de Programação I. Orientação a Objetos em Java Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,

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

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

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 Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

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 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

BC0505 Processamento da Informação

BC0505 Processamento da Informação BC0505 Processamento da Informação Assunto: Modularização de código e passagem de parâmetros Aula Prática: 4 Versão: 0.2 Introdução Modularização No Java, como em outras linguagens de Programação Orientadas

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

(ou seja, boas praticas de programação orientada a objetos devem ser empregadas mesmo se não foram explicitamente solicitadas)

(ou seja, boas praticas de programação orientada a objetos devem ser empregadas mesmo se não foram explicitamente solicitadas) PC-2 / LP-2 2009/2 Lista 2 Prof. Alexandre Sztajnberg Em todos os exercícios a(o) aluna(o) deve, além de atender aos requisitos enunciados, utilizar os conceitos e características de orientação a objetos

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

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. Pacotes e CLASSPATH: Definifdo e Usando Pacotes

Programação Orientada a Objetos. Pacotes e CLASSPATH: Definifdo e Usando Pacotes + Programação Orientada a Objetos Pacotes e CLASSPATH: Definifdo e Usando Pacotes + Pacotes 2 Um pacote é uma coleção de classes e interfaces que provem proteção de acesso e gerenciamento de espaços de

Leia mais

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos Chegamos à interface com o usuário. Você já utilizou alguns métodos para dialogar com o usuário, quer enviando mensagens quer lendo dados.

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

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programaçã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

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

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

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 13 Encapsulamento Objetivos do Capítulo Indicar a importância do mecanismo de encapsulamento no contexto do desenvolvimento de software utilizando a programação orientada a objetos. Apresentar

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

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

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

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Primeiro programa em Java (compilação e execução)

Primeiro programa em Java (compilação e execução) Universidade Federal do ABC Disciplina: Linguagens de Programação (BC-0501) Assunto: Primeiro programa em Java (compilação e execução) Primeiro programa em Java (compilação e execução) Introdução Este

Leia mais

Introdução a classes e objetos. 2005 by Pearson Education do Brasil

Introdução a classes e objetos. 2005 by Pearson Education do Brasil 1 3 Introdução a classes e objetos 2 3.1 Introdução Classes Números de ponto flutuante 3.2 Classes, objetos, métodos e variáveis de instância 3 Classes fornecem um ou mais métodos. Métodos representam

Leia mais

LINGUAGEM ORIENTADA A OBJETOS

LINGUAGEM ORIENTADA A OBJETOS LINGUAGEM ORIENTADA A OBJETOS TI MÓDULO II O ECLIPSE O eclipse é uma IDE Open Source (código fonte aberto) que serve para o desenvolvimento em muitas linguagens: PHP Java Python HTML C/C++ A IDE Eclipse

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

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

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

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Herança O que é herança? Herdar é derivar características de gerações precedentes.

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

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

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

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

Leia mais

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes Pág 50 Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes 10 CORREÇÃO DE QUESTÕES DE AVALIAÇÃO 1 PARTE I - AVALIAÇÃO TEÓRICA 11 RESPONDA AS QUESTÕES ABAIXO: A) Qual a diferença entre

Leia mais

Programação online em Java

Programação online em Java Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão

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

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

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

Lendo Dados do Teclado

Lendo Dados do Teclado Entrada 14 e Saída: Lendo Dados do Teclado 14.7 Formatando a saída Os valores de saída normalmente são produzidos sem formatação. Em particular, os valores numéricos exibem o número de casas decimais resultantes

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

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

Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2

Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2 1 Desenvolvimento Web TCC-00.226 Turma A-1 / 2013.2 Professor Leandro A. F. Fernandes Instituto de Computação Universidade Federal Fluminense Lista de Exercícios 02 Orientação a Objetos 1) Identifique

Leia mais

Vetores. Professor Dr Francisco Isidro Massettto francisco.massetto@ufabc.edu.br

Vetores. Professor Dr Francisco Isidro Massettto francisco.massetto@ufabc.edu.br Professor Dr Francisco Isidro Massettto francisco.massetto@ufabc.edu.br Nem sempre os tipos básicos: (inteiro, real, caracter e lógico) são suficientes para implementar um algoritmo. Por exemplo: Considere

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

Memory Leak em Java?

Memory Leak em Java? 1 Memory Leak em Java? Saiba como memory leaks se manifestam em Java e como evitá-los Sobre o Autor Carlos Eduardo G. Tosin (carlos@tosin.com.br) é formado em Ciência da Computação pela PUC-PR, pós-graduado

Leia mais

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

Objetivos: Entender o funcionamento dos programas Java via linha de comando Algoritmos e Programação I Aula de Laboratório Objetivos: Entender o funcionamento dos programas Java via linha de comando 1. A Linha de Comando: DOS ou Shell Apesar dos usuários geralmente não enxergarem

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 As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa Aula 12: Funções Nesta aula explicaremos o que são e como usar funções nos seus programas em JavaScript. Você aprenderá como elas podem receber e retornar valores à estrutura que as acionou. Entenderá

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

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

Leia mais

OO - Orientação a Objetos

OO - Orientação a Objetos OO - Orientação a Objetos 1 Motivação p Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural; p Imaginem em um grande

Leia mais