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

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

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

Transcrição

1 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: TRABALHANDO COM CLASSES E OBJETOS Origem: Capítulo 3 Introdução a classes e Objetos. Livro: Java Como Programar, Deitel & Deitel, 6ª. Edição; capítulo 4 Orientação a Objetos Básica, capítulo 6 Modificadores de Acesso e Atributos de Classe. Apostila FJ-11 (Java e Orientação a Objetos) Escrever um programa utilizando uma linguagem de programação orientada a objeto significa criar um programa que será composto por uma série de objetos (identificados a partir do mundo real), com propriedades, características e interações. Um conjunto de objetos com características similares é representado através de uma classe, e assim, a programação orientada a objeto foca sua atenção na identificação das classes que irão compor um problema. Qualquer característica, seja informacional ou comportamental, na programação orientada a objeto deverá ser definida através de uma classe. Mesmo que o programa seja muito pequeno e requeira apenas o método main(), ainda sim este deverá ser declarado através de uma classe, como já comentado anteriormente UMA CLASSE EM JAVA Considere um programa para um banco. Uma entidade extremamente importante para o sistema é a conta. A idéia aqui é generalizar alguma informação, juntamente com funcionalidades que toda conta deve ter. O que toda conta tem de importante? Número da conta; Nome do cliente; Saldo; Limite. O que toda conta faz de importante? Sacar uma quantidade x; Depositar uma quantidade x; Imprimir o nome do dono da conta; Devolver o saldo atual; Transferir uma quantidade x entre uma conta e outra; Devolver o tipo de conta. Com isso, tem-se o projeto de uma conta bancária. Podemos pegar esse projeto e acessar seu saldo? Não. O que temos ainda é o projeto (a classe). Antes, precisamos construir (instanciar) uma conta, para poder acessar o que ela tem, e pedir a ela que faça alguma coisa. Declaração básica de uma classe em Java Considerando as propriedades que uma Conta deve ter (e não o que ela faz), teria-se o seguinte código Java: /* Arquivo: Conta.java Contém o tratamento de uma Conta Bancária */

2 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 71 public class Conta { int numero; String nome; double saldo; double limite; //.. Estes são os atributos que toda conta, quando criada, vai ter. Repare que essas variáveis foram declaradas fora de um bloco de método, sendo diferente de variáveis locais a métodos. Quando uma variável é declarada diretamente dentro do escopo da classe, é chamada de variável de objeto (ou de instância), ou atributo. A declaração de toda classe deve conter a palavra-chave class seguida pelo nome da classe. A palavra-chave public é um modificador de acesso, que declara que o acesso à classe é público. O corpo de cada classe estará entre os delimitadores { e A declaração de todo atributo segue a sintaxe de declaração de variáveis, visto os atributos serem as variáveis de instância de um objeto CRIANDO E USANDO UM OBJETO Criar uma classe é apenas declarar as definições de suas características. Para utilizar essas características é preciso instanciar um objeto. Uma vez que se criou uma classe, ela poderá ser utilizada em outras classes, através de sua instanciação. Cada objeto criado terá seu estado e comportamento próprios, além da identidade única, e essas serão justamente as características que poderão ser acessadas pelos objetosclientes (de acordo com a especificação de acesso da característica, claro). Para criar (construir, instanciar) uma Conta, basta usar a palavra-chave new. Utiliza-se também os parênteses, que serão explicados em item posterior: /* Arquivo: Programa.java Programa responsável por utilizar a classe Conta */ public class Programa { public static void main(string[] args) { new Conta(); O código acima é conhecido como Expressão de criação de instância de classe (formado pela palavra-chave new e o nome da classe seguido por parênteses disparando um construtor que será posteriormente detalhado). O código acima cria um objeto do tipo Conta, mas como acessar esse objeto que foi criado? É preciso ter alguma forma de nos referenciarmos a esse objeto, o que é feito através de uma variável. O código acima deve ser substituído por:

3 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 72 /* Arquivo: Programa.java Programa responsável por utilizar a classe Conta */ public class Programa { public static void main(string[] args) { Conta minhaconta; minhaconta = new Conta(); Uma classe, após ser criada em Java, pode ser considerada como um tipo definido pelo usuário, e portanto, podemos ter uma variável declarada como sendo desse tipo. Pode parecer estranho escrevermos duas vezes Conta: uma vez na declaração da variável e outra vez no uso do new. As duas instruções acima descritas (declaração de uma variável do tipo da classe e instanciação dessa variável) podem ser disponibilizadas em uma única instrução, como no exemplo abaixo: Conta minhaconta = new Conta(); //forma mais comum de declaração Através da variável minhaconta, agora é possível acessar o objeto recém criado para alterar seu nome, seu saldo, etc: /* Arquivo: Programa.java Programa responsável por utilizar a classe Conta */ public class Programa { public static void main(string[] args) { Conta minhaconta = new Conta(); /* Alteração de valores de atributos do objeto minhaconta */ minhaconta.nome = "Duke"; minhaconta.saldo = ; System.out.println("Saldo atual: " + minhaconta.saldo); É importante destacar que o acesso aos atributos/métodos de um objeto ocorre através da notação de ponto, com o nome do objeto à esquerda do ponto e o atributo/método à direita. OBSERVAÇÃO: (1) Apesar do acesso direto aos valores de um objeto ser possível, segundo os princípios da orientação a objeto (encapsulamento) ele deve ser evitado. Um objeto-cliente não deve acessar diretamente os atributos de um outro objeto. Para tal acesso / atualização devem ser criados métodos getters e setters (e habitualmente tem-se um método get() e outro set() para cada atributo da classe que precise ser manipulado).

4 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 73 (2) É comum criar uma classe separada para conter o método main() e fazer a chamada do(s) método(s) que irão efetivamente realizar a execução do programa, similar ao que ocorre no exemplo acima com as classes Conta e Programa MÉTODOS Dentro da classe, também deve ser declarado o que cada conta faz e como isto é feito, ou seja, o comportamento que cada classe tem. Por exemplo, de que maneira uma conta saca dinheiro? Isso é especificado dentro da própria classe Conta, e não em um local desatrelado das informações da própria conta. É por isso que essas funções são chamadas de métodos. Pois é a maneira de fazer uma operação com um objeto. Assim, qualquer tarefa que precise ser realizada em um programa Java deve ser declarada através de um método, que irá conter os mecanismos necessários para a execução da tarefa. Uma declaração de método é composta por: Cabeçalho / Assinatura formado por especificador de acesso (opcional) + tipo de dados de retorno (void para nenhum retorno) + nome do método + parênteses (e dentro deles a lista de parâmetros - a declaração das variáveis locais que são parâmetros de entrada para o método em questão. Parênteses vazios indicam que não há parâmetro de entrada); Corpo contém o código-fonte a ser executado, delimitado entre chaves. Em caso de método com retorno indicado no cabeçalho em algum momento antes do delimitador final deve estar presente a palavra-chave return, seguido do retorno esperado. Por exemplo: Para criar um método que saca uma determinada quantidade e não devolve nenhuma informação para quem acionar esse método tem-se o seguinte código. /* Arquivo: Conta.java Contém o tratamento de uma Conta Bancária */ public class Conta { //Declaração de variáveis de instância int numero; String nome; double saldo; double limite; //Declaração de método void sacar (double quantidade) { double novosaldo = this.saldo - quantidade; this.saldo = novosaldo; A palavra-chave void indica que não há nenhum retorno para o método, ou seja, quando você pedir para a conta sacar uma quantia, nenhuma informação será enviada de volta a quem pediu. Quando alguém pedir para sacar, ele também vai dizer quanto quer sacar. Por isso precisamos declarar o método com tal informação de entrada - um argumento do método (ou parâmetro).

5 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 74 Essa variável é uma variável comum, chamada também de temporária ou local, pois, ao final da execução desse método, ela deixa de existir. Dentro do método, é declarada uma nova variável (novosaldo). Essa variável, assim como o argumento, vai morrer no fim do método, pois este é seu escopo. Para diferenciar o uso de variáveis locais ao método e variáveis de instância da classe é utilizada a palavra-chave this, para se referenciar a um valor do objeto (como é feito no exemplo acima para this.saldo). Da mesma forma, temos o método para depositar alguma quantia: class... { //... outros atributos e métodos... void depositar (double quantidade) { this.saldo += quantidade; Observe que, agora, não foi usada uma variável auxiliar e, além disso, usou-se o comando reduzido += para deixar o método bem simples. O += soma quantidade ao valor antigo de saldo e guarda no próprio saldo o valor resultante. Para mandar uma mensagem ao objeto e solicitar que ele execute um método, também é usada a notação de ponto. O termo usado para isso é invocação (chamada) de método. O método main() é o único método executado automaticamente pela Java Virtual Machine. Qualquer outro método para ser executado deverá ser invocado por algum outro método. O código a seguir saca dinheiro e depois deposita outra quantia na conta exemplo que estamos trabalhando. /* Arquivo: SacaEDeposita.java Classe responsável por realizar saques e depósitos em uma conta */ public class SacaEDeposita { public static void main(string[] args) { // criando a conta Conta minhaconta = new Conta(); // alterando os valores de minhaconta minhaconta.nome = "Duke"; minhaconta.saldo = 1000; // saca 200 reais minhaconta.sacar(200); // deposita 500 reais minhaconta.depositar(500);

6 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 75 // exibe saldo da conta System.out.println(minhaConta.saldo); Uma vez que seu saldo inicial é 1000 reais, se sacarmos 200 reais, depositarmos 500 reais e imprimirmos o valor do saldo, o que será impresso? OBSERVAÇÃO: A chamada de um método deve estar sempre associada aos parênteses ao final do nome do método, mesmo que o método em questão não contenha argumentos de entrada; Observar no exemplo acima que a chamada dos métodos sacar() e depositar() são realizadas com o informe de um argumento cada, que será o valor passado para o método, já que ambos requerem parâmetros de entrada em suas execuções; Um método pode especificar múltiplos parâmetros, separando cada um deles do próximo com uma vírgula. O número de argumentos em uma chamada de método deve corresponder ao número de parâmetros na lista de parâmetros da declaração do método chamado. Além disso, os tipos de dados dos argumentos na chamada de método devem ser consistentes com os tipos dos parâmetros correspondentes na declaração do método. Não precisa haver correspondência de nome entre o argumento passado para o método e o parâmetro no método declarado MÉTODOS COM RETORNO Um método sempre tem que retornar alguma coisa, nem que essa coisa seja nada, como nos exemplos anteriores onde é usada a palavra-chave void. Um método pode retornar um valor para o cliente que o chamou. No caso do exemplo do método sacar() pode-se devolver um valor booleano indicando se a operação foi bem sucedida. /* Arquivo: Conta.java Contém o tratamento de uma Conta Bancária atualização */ public class Conta { //Declaração de variáveis de instância int numero; String nome; double saldo; double limite; //Método para realização da operação de saque, com retorno boolean sacar (double valor) { if (this.saldo < valor) { return false; else { this.saldo = this.saldo - valor; return true;

7 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 76 //Método para realização da operação de depósito, sem retorno void depositar (double quantidade) { this.saldo += quantidade; Agora a declaração do método mudou. O método sacar() não tem void na frente, isto quer dizer que, quando é acessado, ele devolve algum tipo de informação. No caso, um boolean. A palavra-chave return indica que o método vai terminar ali, retornando tal informação. Exemplo de uso: minhaconta.saldo = 1000; boolean consegui = minhaconta.sacar(2000); if(consegui) { System.out.println("Consegui sacar"); else { System.out.println("Não consegui sacar"); Ou então, posso eliminar a variável temporária, se desejado: minhaconta.saldo = 1000; System.out.println(minhaConta.sacar(2000)); Mais adiante, veremos que algumas vezes é mais interessante lançar uma exceção (exception) nesses casos. Trabalhando com mais de um objeto O programa pode manter na memória não apenas uma conta, porém várias. Essa possibilidade é demonstrada no exemplo abaixo. /* Arquivo: TestaDuasContas.java Classe que trabalha com dois objetos da classe conta */ public class TestaDuasContas { public static void main(string[] args) { Conta minhaconta = new Conta(); minhaconta.saldo = 1000; System.out.println( Saldo da 1ª. Conta: + minhaconta.saldo); Conta meusonho = new Conta(); meusonho.saldo = ; System.out.println( Saldo da 2ª. Conta: + meusonho.saldo);

8 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: VARIÁVEIS POR REFERÊNCIA Quando declaramos uma variável para associar a um objeto, na verdade, essa variável não guarda uma cópia do objeto (como ocorre com tipos de dados primitivos), e sim uma maneira de acessá-lo, chamada de referência, que é uma referência a memória onde o objeto está armazenado. É por esse motivo que é necessário o uso do comando new após a declaração da variável. Seja o exemplo parcial de código: public static void main(string args[]) { Conta c1 = new Conta(); Conta c2 = new Conta(); O correto aqui é dizer que c1 se refere a um objeto. Não é correto dizer que c1 é um objeto, pois c1 é uma variável por referência, apesar de, depois de um tempo, os programadores Java falarem Tenho um objeto c1 do tipo Conta, mas apenas para encurtar a frase Tenho uma referência c1 a um objeto do tipo Conta. 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 as contas instanciadas se encontram. 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 um outro exemplo. /* Arquivo: TestaReferencias.java Aplicativo responsável por testar declaração de variável por referência */ public class TestaReferencias { public static void main(string args[]) { Conta c1 = new Conta(); c1.depositar(100); Conta c2 = c1; // linha importante!

9 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 78 c2.depositar(200); System.out.println(c1.saldo); System.out.println(c2.saldo); Qual é o resultado do código acima? O que aparece ao rodar? O que acontece aqui? O operador de atribuição ( = ) 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) de onde o objeto se encontra na memória principal. Na memória, o que acontece nesse caso é descrito pela figura abaixo. 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 exatamente ao 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 executamos 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 pro mesmo objeto que outra. Essa utilidade ficará mais clara quando passarmos variáveis do tipo referência como argumento para métodos. new O que exatamente faz o new? O new executa uma série de tarefas, que veremos mais adiante. Mas, para melhor entender as referências no Java, saiba que o new, depois de alocar a memória para esse objeto, devolve uma flecha, isto é, um valor de referência. Quando você atribui isso a uma variável, essa variável passa a se referir para esse mesmo objeto. Podemos então ver outra situação no código a seguir. /* Arquivo: TestaReferencias2.java Aplicativo responsável por testar declaração de variável por referência */

10 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 79 public class TestaReferencias2 { public static void main(string args[]) { Conta c1 = new Conta(); c1.nome = "Duke"; c1.saldo = 227; Conta c2 = new Conta(); c2.nome = "Duke"; c2.saldo = 227; if (c1 == c2) { System.out.println("Contas iguais"); else { System.out.println("Contas diferentes"); 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 retornar false. As contas podem ser equivalentes no nosso critério de igualdade, porém elas não são o mesmo objeto. 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 em termos de estado. Para saber se dois objetos têm o mesmo conteúdo, você precisa comparar atributo por atributo. Veremos uma solução mais elegante para isso também. Mais um exemplo: E se quisermos ter um método que transfere dinheiro entre duas contas? Podemos ficar tentados a criar um método que recebe dois parâmetros: conta1 e conta2 do tipo Conta. Mas cuidado: assim estamos pensando de maneira procedural. A idéia é que, quando chamarmos o método transferir(), já teremos um objeto do tipo Conta (o this), portanto o método recebe apenas um parâmetro do tipo Conta, a conta destino (além do valor). Seja o código abaixo: /* Arquivo: Conta.java Tratamento de uma conta acréscimo de código */ public class Conta { // atributos e métodos... //Método que realiza transferência entre uma conta origem e //outra destino void transferir(conta destino, double valor) { this.saldo = this.saldo - valor; destino.saldo = destino.saldo + valor;

11 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 80 Para deixar o código mais robusto, poderíamos verificar se a conta possui a quantidade a ser transferida disponível. Para ficar ainda mais interessante, pode-se chamar os métodos depositar() e sacar() já existentes para fazer essa tarefa. Um possível código está a seguir transcrito. /* Arquivo: Conta.java Tratamento de uma conta acréscimo de código */ public class Conta { // atributos e métodos... boolean transferir(conta destino, double valor) { boolean retirou = this.sacar(valor); if (retirou == false) { // não deu pra sacar! return false; else { destino.depositar(valor); return true; Quando passamos uma conta como argumento, o que será que acontece na memória? Será que o objeto é clonado? No Java, a passagem de parâmetro funciona como uma simples atribuição, como no uso do =. Então, esse parâmetro vai copiar o valor da variável do tipo Conta que for passado como argumento. E qual é o valor de uma variável dessas? Seu valor é um endereço, uma referência, nunca um objeto. Por isso não há cópia de objetos aqui. Esse último código poderia ser escrito com uma sintaxe muito mais clara. Como? Perceber que o nome deste método poderia ser transferirpara() ao invés de só transferir(). A chamada do método fica muito mais natural, pois é possível ler a frase em português que ela tem um sentido. conta1.transferirpara(conta2, 50); A leitura deste código seria conta 1 transfere para conta 2 R$50.

12 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: ATRIBUTOS Os atributos ou variáveis de instância declaradas em uma classe têm valores exclusivos para cada objeto da classe, e portanto, havendo mais de um objeto da mesma classe declarados em um mesmo método, esses terão seus valores tratados completamente em separado. Ao contrário da maior parte das classes e dos métodos, os atributos costumam ser declarados com o modificador de acesso private, indicando que tais variáveis são acessíveis apenas dentro da própria classe na qual estão declaradas. Essa especificação é seguida para preservar o princípio de encapsulamento da orientação a objetos. Normalmente as variáveis de instância são declaradas logo após a declaração do cabeçalho da classe, como forma de ficarem mais legíveis e fáceis de serem localizadas para serem utilizadas nos métodos das classes. No entanto suas declarações podem ficar em qualquer ponto de uma classe, desde que estejam fora da declaração de um método. Lembrando que se estiverem dentro da declaração de um método serão consideradas variáveis locais ao método, e não variáveis de instância. As variáveis do tipo atributo, diferentemente das variáveis temporárias (declaradas dentro de um método), recebem um valor padrão. No caso numérico valem 0, no caso de boolean valem false, no caso de classes valem null. Também é possível estabelecer valores default, como segue no exemplo: public class Conta { //Declaração de atributos private int numero = 1234; private String nome = "Duke"; private String cpf = " "; private double saldo = 1000; private double limite = 1000; /* Declaração de método set para manipulação do atributo numero Recebe um Parâmetro de entrada cujo valor será repassado para o atributo */ public void setnumero (int numero) { this.numero = numero; //this.numero se refere à variável de //instância. numero se refere ao //parâmetro de entrada /* Declaração de método get para manipulação do atributo numero retorna o valor do atributo, para o método que o houver chamado */ public int getnumero() { return this.numero; Nesse caso, quando você criar uma conta, seus atributos já estão populados com esses valores colocados. Essa solução não é a mais comum para inicialização de atributos, normalmente trabalha-se com construtores (que serão posteriormente detalhados).

13 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 82 Imagine que, agora, começamos a aumentar nossa classe Conta e queremos adicionar sobrenome e cpf do cliente dono da conta. Começaríamos a ter muitos atributos relacionados ao cliente e, se você pensar direito, uma conta não tem nome, nem sobrenome, nem cpf, quem tem esses atributos é um cliente. Então podemos criar uma nova classe e fazer uma composição. Os atributos também podem ser referências para outras classes. Suponha a seguinte classe Cliente, e uma declaração alterada da classe Conta: class Cliente { String nome; String sobrenome; String cpf; class Conta { int numero; double saldo; double limite; Cliente titular; //.. E dentro do main() da classe de teste, tem-se: class Teste { public static void main(string[] args) { Conta minhaconta = new Conta(); Cliente c = new Cliente(); minhaconta.titular = c; //... Aqui, simplesmente houve uma atribuição. O valor da variável c é copiado para o atributo titular do objeto ao qual minhaconta se refere. Em outras palavras, minhaconta agora tem uma referência ao mesmo cliente ao qual c se refere, e pode ser acessado através de minhaconta.titular. Você pode realmente navegar sobre toda essa estrutura de informação, sempre usando a notação de ponto: Cliente clientedaminhaconta = minhaconta.titular; clientedaminhaconta.nome = "Duke"; Ou ainda, pode fazer isso de uma forma mais direta e até mais elegante: minhaconta.titular.nome = "Duke";

14 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 83 Um sistema orientado a objetos é um grande conjunto de classes que vai se comunicar, delegando responsabilidades para quem for mais apto a realizar determinada tarefa. A classe Banco usa a classe Conta que usa a classe Cliente, que usa a classe Endereco. Dizemos que esses objetos colaboram, trocando mensagens entre si. Por isso acabamos tendo muitas classes em nosso sistema, e elas costumam ter um tamanho relativamente curto. Mas, e se dentro do meu código eu não desse new em Cliente e tentasse acessá-lo diretamente? public class Teste { public static void main(string[] args) { Conta minhaconta = new Conta(); minhaconta.titular.nome = "paulo"; //... Quando damos new em um objeto, ele o inicializa com seus valores default, 0 para números, false para boolean e null para referências. null é uma palavra-chave em Java, que indica uma referência para nenhum objeto. Se, em algum caso, você tentar acessar um atributo ou método de alguém que está se referenciando para null, você receberá um erro durante a execução (NullPointerException, que veremos mais à frente). Dá para perceber, então, que o new não traz um efeito cascata, a menos que você dê um valor default (ou use construtores, que também veremos mais a frente). Uma forma de resolver a questão comentada poderia ser como no código seguinte. class Conta { int numero; double saldo; double limite; Cliente titular = new Cliente(); // quando chamarem new Conta, //haverá um new Cliente para ele. Com esse código, toda nova conta criada já terá um novo cliente associado, sem necessidade de instanciá-lo logo em seguida da instanciação de uma conta. Qual alternativa você deve usar? Depende do caso: para toda nova conta você precisa de um novo cliente? É essa pergunta que deve ser respondida. Nesse nosso caso a resposta é não, mas depende do nosso problema. Atenção: para quem não está acostumado com referências, pode ser bastante confuso pensar sempre em como os objetos estão na memória para poder tirar as conclusões do que ocorrerá ao executar determinado código, por mais simples que ele seja. Com o tempo, você adquire a habilidade de rapidamente saber o efeito de atrelar as referências, sem ter de gastar muito tempo para isso. É importante, nesse começo, você estar sempre pensando no estado da memória. E realmente lembrar que, no Java uma variável nunca carrega um objeto, e sim uma referência para ele facilita muito.

15 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: UM NOVO EXEMPLO Além do exemplo do Banco criado anteriormente, vamos ver como ficariam certas classes relacionadas a uma fábrica de carros. Se uma classe Carro, com certos atributos, que descrevem suas características, e com certos métodos, que descrevem seu comportamento. /* Arquivo: Carro.java Classe com o tratamento de um carro */ //classe Motor componente de um carro class Motor { int potencia; String tipo; //inicialização das características de um motor Motor() { this.potencia = 10; this.tipo = Flex ; //Classe carro, com as características de um carro public class Carro { String cor; String modelo; double velocidadeatual; double velocidademaxima; Motor motor; //liga o carro void ligar() { System.out.println("O carro está ligado"); //acelera uma certa quantidade void acelerar(double quantidade) { double velocidadenova = this.velocidadeatual + quantidade; this.velocidadeatual = velocidadenova; //devolve a marcha do carro int pegarmarcha() { if (this.velocidadeatual < 0) {

16 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 85 return -1; if (this.velocidadeatual >= 0 && this.velocidadeatual < 40) { return 1; if (this.velocidadeatual >= 40 && this.velocidadeatual < 80){ return 2; return 3; Agora, vamos testar nosso Carro em um programa de testes. /* Arquivo: TestaCarro.java Classe com o tratamento para teste de um carro */ import java.util.scanner; public class TestaCarro { public static void main(string[] args) { Carro meucarro = new Carro(); meucarro.motor = new Motor(); Scanner input = new Scanner(System.in); System.out.print( Informe a cor do carro: ); meucarro.cor = input.nextline(); //método que lê uma linha de texto System.out.print( Informe o modelo do carro: ); meucarro.modelo = input.nextline(); System.out.print( Informe a velocidade atual do carro: ); meucarro.velocidadeatual = input.nextdouble(); //método para //leitura de //valor double System.out.print( Informe a velocidade máximo do carro: ); meucarro.velocidademaxima = input.nextdouble(); // liga o carro meucarro.ligar(); // acelera o carro meucarro.acelerar(20); System.out.println(meuCarro.velocidadeAtual);

17 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 86 OBSERVAÇÃO: (1) Da classe Scanner já foram estudados os seguintes métodos: nextint() leitura de um valor numérico inteiro; nextdouble() leitura de um valor numérico em ponto flutuante; nextline() leitura de uma linha de caracteres (do início da linha ao fim, quando se encontra um caracter de nova linha, que não é incluído na string que recebe o valor lido). Um outro método é o seguinte: next() leitura de uma palavra até que se encontre um espaço em branco (espaço, tabulação ou nova linha). Se naquela linha ainda sobrar outros textos esses poderão ser acessados com a chamada de novos métodos. Discussão sobre o comando nextline() e problemas com sua saída -> O uso do nextline() lê o caracter de pula linha, enquanto os outros métodos de leitura de Scanner não. Recomenda-se o uso de um nextline() após cada next() lido só para garantir que o caracter de pula linha será lido. O problema só ocorre se após algum next() tentar-se usar o nextline(), pois este irá reconhecer o caracter de pula linha e assumir que o necessário já foi lido. (2) Sobre a declaração de importação de classe No exemplo acima há uma instrução de importação de classe (a Scanner, pertencente ao pacote java.util). Essa declaração indica ao compilador que o programa utiliza a classe Scanner. A dúvida é: Por que precisa dessa instrução para Scanner, mas não para System, String ou Carro? A maioria das classes utilizadas em programas Java precisa ser importada. As classes System e String pertencem ao pacote java.lang, que é implicitamente importado em todo programa Java, daí não ser necessária uma importação explícita (como no caso de Scanner). Há um relacionamento especial entre as classes que são compiladas no mesmo diretório no disco, como as classes Carro e TestaCarro. Por padrão, considera-se que essas classes estão no mesmo pacote (conhecido como pacote padrão). As classes no mesmo pacote também são importadas implicitamente nos arquivos de código-fonte de outras classes no mesmo pacote, sem requerer a importação explícita. Uma outra forma de declaração de importação de classe pode ser utilizada. Ela é conhecida como nome de classe completamente qualificado. Se o nome da classe for completamente utilizado, a declaração de importação, através da palavra-chave import não é necessária. Por exemplo, a declaração de importação da classe Scanner poderia ser feita da seguinte maneira, reunida com a declaração de criação: java.util.scanner input = new java.util.scanner(system.in); O CONSTRUTOR DE UMA CLASSE O que devemos fazer quando queremos inicializar as variáveis de instância de um objeto no momento de sua instanciação? A resposta a essa pergunta está no Construtor da Classe. E o Java requer a chamada de um construtor para cada objeto que for criado. Quando usamos a palavra chave new, estamos construindo um objeto. Sempre quando o new é chamado, ele executa o construtor da classe. O construtor da classe é um bloco declarado com

18 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 87 o mesmo nome da classe, seguido por parênteses (que pode, ou não, conter argumentos como ocorre com um método comum): class Conta { int numero; Cliente titular; double saldo; double limite; // construtor Conta() { System.out.println("Construindo uma conta."); //.. Então, quando fizermos: Conta c = new Conta(); A mensagem Construindo uma conta aparecerá. É como uma rotina de inicialização que é chamada sempre que um novo objeto é criado. Um construtor pode parecer, mas não é um método. O construtor default Até agora, as nossas classes não possuíam nenhum construtor. Então como é que era possível dar new, se todo new chama um construtor obrigatoriamente? Quando você não declara nenhum construtor na sua classe, o Java cria um para você. Esse construtor é o construtor default, ele não recebe nenhum argumento e o corpo dele é vazio. A partir do momento que você declara um construtor, o construtor default não é mais fornecido. O interessante é que um construtor pode receber um argumento, podendo assim inicializar algum tipo de informação, e não da forma fixa que ocorreria com a inicialização da variável no momento de sua declaração. Pode-se perceber tal situação pelo exemplo abaixo. class Conta { int numero; Cliente titular; double saldo, limite; // construtor Conta (Cliente titular){ this.titular = titular; //..

19 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 88 Esse construtor recebe o titular da conta. Assim, quando criarmos uma conta, ela já terá um determinado titular. O trecho de código acima pode ser complementado por: Cliente carlos = new Cliente(); carlos.setnome("carlos"); Conta c = new Conta(carlos); System.out.println(c.getTitular().setNome()); A necessidade de um construtor Tudo estava funcionando até agora. Para que utilizamos um construtor? A idéia é bem simples. Se toda conta precisa de um titular, como obrigar todos os objetos que forem criados a ter um valor desse tipo? Basta criar um único construtor que recebe essa entrada! O construtor se resume a isso! Dar possibilidades ou obrigar o usuário de uma classe a passar argumentos para o objeto durante o processo de criação do mesmo. Por exemplo, não podemos abrir um arquivo para leitura sem dizer qual é o nome do arquivo que desejamos ler! Portanto, nada mais natural que passar uma String representando o nome de um arquivo na hora de criar um objeto do tipo de leitura de arquivo, e que isso seja obrigatório. Você pode ter mais de um construtor na sua classe e, no momento do new, o construtor apropriado será escolhido. Os diferentes construtores são diferenciados pela sua assinatura. Como nesse caso o nome é o mesmo, será a lista de parâmetros que irá indicar o construtor adequado a ser disparado. Construtor: um método especial? Um construtor não é um método. Algumas pessoas o chamam de um método especial, mas definitivamente não é, já que não possui retorno e só é chamado durante a construção do objeto. Chamando outro construtor Um construtor só pode rodar durante a construção do objeto, isto é, você nunca conseguirá chamar o construtor em um objeto já construído. Porém, durante a construção de um objeto, você pode fazer com que um construtor chame outro, para não ter de ficar copiando e colando. Isso pode ser observado no exemplo a seguir. class Conta { private int numero; private Cliente titular; private double saldo; private double limite; // construtores public Conta (Cliente titular) { // faz mais uma série de inicializações e configurações this.titular = titular; public Conta (int numero, Cliente titular) {

20 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 89 this(titular); // chama o construtor que foi declarado acima //Precisa ser a 1ª. Instrução do código this.numero = numero; //.. Existe um outro motivo, o outro lado dos construtores: facilidade. Às vezes, criamos um construtor que recebe diversos argumentos para não obrigar o usuário de uma classe a chamar diversos métodos do tipo set. No nosso exemplo do Banco, podemos forçar que a classe Cliente receba no mínimo o CPF, dessa maneira um cliente já será construído com um CPF válido. OBSERVAÇÃO: Normalmente os construtores são declarados públicos, isto é, contém a palavrachave public em sua declaração. Java Bean Quando criamos uma classe com todos os atributos privados, seus getters e setters e um construtor vazio (padrão), na verdade estamos criando um Java Bean (mas não confunda com EJB, que é Enterprise Java Beans componentes utilizados em servidores). Um Java Bean é um componente de software reutilizável, seguindo algumas convenções de nomeclatura de métodos, construtores e comportamento. Para saber mais acesse: LEITURA RECOMENDADA Material indicado no início do tópico, como origem do texto disponibilizado; Fóruns na Internet EXERCÍCIOS 1. O objetivo dos exercícios a seguir é fixar o conceito de classes e objetos, métodos e atributos. Dada a estrutura de uma classe, basta traduzí-la para a linguagem Java e fazer uso de um objeto da mesma em um programa simples. a) Programa 1 b) Programa 2 Classe: Pessoa Atributos: nome, idade. Método: void fazeraniversario() Crie uma pessoa, coloque seu nome e idade iniciais, faça alguns aniversários (aumentando a idade) e imprima seu nome e sua idade. Classe: Porta Atributos: aberta, cor, dimensaox, dimensaoy, dimensaoz

21 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 90 3) Programa 3 Métodos: void abrir(), void fechar(), void pintar(string s), boolean checarestaaberta() Crie uma porta, abra e feche a mesma, pinte-a de diversas cores, altere suas dimensões e use o método ChecarEstaAberta() para verificar se ela está aberta. Classe: Casa Atributos: cor, porta1, porta2, porta3 Método: void pintar(string s), int verficarportasestaoabertas() Crie uma casa e pinte-a. Crie três portas e coloque-as na casa; abra e feche as mesmas como desejar. Utilize o método verificarportasestaoabertas() para imprimir o número de portas abertas. 2. Um método pode chamar ele mesmo. Chamamos isso de recursão. Você pode resolver a série de fibonacci usando um método que chama ele mesmo. O objetivo é você criar uma classe, que possa ser usada da seguinte maneira: Fibonacci fibo = new Fibonacci(); int i = fibo.calcularfibonacci(5); System.out.println(i); Aqui imprimirá 8, já que este é o sexto número da série. Este método calcularfibonacci() não pode ter nenhum laço, só pode chamar ele mesmo como método. Pense nele como uma função, que usa a própria função para calcular o resultado. a) Por que o modo acima é extremamente mais lento para calcular a série do que o modo iterativo (que se usa um laço)? b) Escreva o método recursivo novamente, usando apenas uma linha. Para isso, pesquise sobre o operador condicional ternário. 3. O modelo de funcionários a seguir será utilizado para os exercícios de alguns dos capítulos posteriores. O objetivo aqui é criar um sistema para gerenciar os funcionários do Banco. a) Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde trabalha, seu salário (double), a data de entrada no banco (String), seu RG (String) e um valor booleano que indique se o funcionário está na empresa no momento ou se já foi embora. Você deve criar alguns métodos de acordo com sua necessidade. Além deles, crie um método bonificar() que aumenta o salário do funcionário de acordo com o parâmetro passado como argumento. Crie, também, um método demitir(), que não recebe parâmetro algum, só modifica o valor booleano indicando que o funcionário não trabalha mais aqui. A idéia aqui é apenas modelar, isto é, só identifique que informações são importantes e o que um funcionário faz. Desenhe no papel tudo o que um Funcionario tem e tudo que ele faz. b) Transforme o modelo acima em uma classe Java. Teste-a, usando uma outra classe que tenha o main(). Você deve criar a classe do funcionário chamada Funcionario, e a classe de teste você pode nomear como quiser. A de teste deve possuir o método main().

22 Conteúdo: Programação Orientada a Objetos Linguagem JAVA Página: 91 Incremente essa classe. Faça outros testes, imprima outros atributos e invoque os métodos que você criou a mais. Lembre-se de seguir a convenção Java, isso é importantíssimo. Isto é, nomedeatributo, nomedemetodo, nomedevariavel, NomeDeClasse, etc... c) Crie um método mostrar(), que não recebe nem devolve parâmetro algum e simplesmente imprime todos os atributos do nosso funcionário. Dessa maneira, você não precisa ficar copiando e colando um monte de System.out.println() para cada mudança e teste que fizer com cada um de seus funcionários, você simplesmente vai fazer: Funcionario f1 = new Funcionario(); //brincadeiras com f1... f1.mostrar(); d) Construa dois funcionários com o new e compare-os com o ==. E se eles tiverem os mesmos atributos? e) Crie duas referências para o mesmo funcionário, compare-os com o ==. Tire suas conclusões. f) Em vez de utilizar uma String para representar a data, crie uma outra classe, chamada Data. Ela possui 3 campos int, para dia, mês e ano. Faça com que seu funcionário passe a usá-la. (é parecido com o último exemplo, em que a Conta passou a ter referência para um Cliente). Modifique sua classe TestaFuncionario para que você crie uma Data e atribua ela ao Funcionário. Modifique seu método mostrar() para que ele imprima o valor de datadeentrada daquele Funcionário. Agora, o que acontece se chamarmos o método mostrar() antes de atribuirmos uma data para este Funcionario? g) Garanta que qualquer atributo que precisar ser manipulado em suas classes estará sendo feito através dos métodos get() / set() quando não forem atributos da própria classe, mas uma variável.

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

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

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

Leia mais

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

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

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

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

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

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

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

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

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

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

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

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

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

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

Leia mais

Programação 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

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

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

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

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

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

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMANDO EM C# ORIENTADO A OBJETOS PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios

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

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

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 20 ArrayList: Operações de Busca Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 TIPOS DE BUSCAS... 3 BUSCA ESPECÍFICA... 3 BUSCA ABRANGENTE... 3 PROCEDIMENTO DE BUSCA...

Leia mais

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,

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

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

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

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: Lista de exercícios #1. Bruno Góis Mateus

Programação Orientada a Objetos: Lista de exercícios #1. Bruno Góis Mateus Programação Orientada a Objetos: Lista de exercícios #1 Bruno Góis Mateus 1 Contents Programação Orientada a Objetos (Bruno Góis Mateus ): Lista de exercícios #1 Classes e Instanciação 3 A classe Circle...............................................

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

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

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

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

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

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

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

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

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

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

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

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

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

Leia mais

GUIA BÁSICO DA SALA VIRTUAL

GUIA BÁSICO DA SALA VIRTUAL Ambiente Virtual de Aprendizagem - MOODLE GUIA BÁSICO DA SALA VIRTUAL http://salavirtual.faculdadesaoluiz.edu.br SUMÁRIO 1. Acessando Turmas 4 2. Inserindo Material 4 3. Enviando Mensagem aos Alunos 6

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

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

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

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

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

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

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

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

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

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

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

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

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

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

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

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

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

Leia mais

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

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

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

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

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

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença:

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Millennium... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

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

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 7: Recursividade O objetivo desta aula é apresentar o conceito de recursão para solução de problemas. A recursão é uma técnica de programação

Leia mais

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

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

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

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

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

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

OCOMON PRIMEIROS PASSOS

OCOMON PRIMEIROS PASSOS OCOMON PRIMEIROS PASSOS O OCOMON ainda não possui um arquivo de Help para atender a todas questões relacionadas ao sistema. Esse arquivo serve apenas para dar as principais instruções para que você tenha

Leia mais

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

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

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Mostrar como funciona a programação orientada a objetos

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Mostrar como funciona a programação orientada a objetos META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 3: CRIANDO A CLASSE ESPAÇONAVE Mostrar como funciona a programação orientada a objetos OBJETIVOS Ao final da

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Técnicas de Programação II

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

Leia mais

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

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Slim... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento da

Leia mais