Orientação a Objetos com Java Para iniciantes

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

Download "Orientação a Objetos com Java Para iniciantes"

Transcrição

1 1 Orientação a Objetos com Java Para iniciantes Guia rápido e básico para usuários iniciantes na plataforma Java e Orientação a Objetos Yrineu Rodrigues Nooclix Fábrica de Software 1

2 1

3 Sumário de Imagens Figura 1- Criando o projeto 6 Figura 2- Criando a classe 7 Figura 3- Inserindo o nome da classe 7 Figura 4- Código Olá java 8 Figura 5- Executando o código 8 Figura 6- Erro no código 9 Figura 7- Executando o cóidigo com erro 9 Figura 8- Palavras reservadas do Java 9 Figura 9- Tipo e nome de variável 10 Figura 10- Declarando uma constante 12 Figura 11- Atribuição composta 15 Figura 12- Instanceof 16 Figura 13- Operador Aritmetico 16 Figura 14- Operador lógico 16 Figura 15- Concatenação e conversão de String 17 Figura 16- Cast Implícito 18 Figura 17- Cast Incorreto 19 Figura 18- Variável de Referência 21 Figura 19- Declarando método 24 Figura 20- Escopo local 25 Figura 21- Escopo do método 26 Figura 22- Utilizando this 27 Figura 23- Gerando Getters e Setters 29 Figura 24- Getters e Setters gerados 30 Figura 25- Classe 31 Figura 26- Classe Interna 32 Figura 27- Instância vs. Referência 34 Figura 28- Enviando objeto por parâmetro 34 Figura 29- Alterando o construtor 35 Figura 30 - Alterando o método tostring( ) 36 Figura 31- Utilizando o método tostring( ) modificado 37 2

4 A História do Java D esenvolvida pelo time conhecido como Green Team da Sun liderado por James Gosling (o pai do Java) em 1992, além de ser uma plataforma e ter uma máquina virtual, é também uma linguagem de programação muito poderosa que segue todos os parâmetros da orientação a objetos, falar de Java e não falar de OO (como é chamada a orientação a objetos) é quase impossível, mas deixaremos esse assuntopara depois, no momento vamos explorar seu contexto histórico. Entre as décadas de 1960 a 1980 as linguagens de programação seguiam um padrão parametrizado, onde não era possível extrair artefatos do mundo real para o ambiente de desenvolvimento, este fato aliado à falta de profissionais capacitados para atender a demanda de requisições de software contribuíram para o surgimento da linguagem Java baseada na madura e bem sucedida linguagem C que de início teve sua aplicação voltada a aparelhos eletrônicos como televisores, aparelho de TV a cabo e vídeo cassete. Em 2009 o Java passou a ser mantido pela empresa Óracle com a promessa de obedecer a estrutura open-source do Java, depois de algumas versões e bastante colaboração de programadores do mundo todo, o Java é uma linguagem madura, bastante segura e com ampla aplicação que atende aos contextos desktop, web e mobile. A Máquina Virtual C omo descrito anteriormente, um dos problemas das linguagens anteriores ao Java era a incapacidade de abstrair elementos do mundo real, outro problema bastante impactante era quando o usuário efetuava a mudança de sistema operacional onde o sistema teria que ser recompilado para poder ser utilizado pelo outro SO. Visando resolver esse problema de uma vez por todas o Java possui uma máquina virtual conhecida como JVM permitindo o desenvolvedor compilar somente uma vez toda a aplicação e utilizá-la em qualquer SO, também conhecido pelo famoso jargão Write once, run anywhere (Escreva uma vez, rode em qualquer lugar). O funcionamento da JVM dá-se entre o software e o sistema operacional fazendo uma espécie de tradução do bytecode do sistema gerado pelo compilador, seja ele Linux, Windows, MacOS entre outros, porém cada sistema operacional tem sua própria versão da máquina virtual Java, além de um ótimo gerenciamento de memória. 3

5 Alguns fóruns destacam que o java é lento ou que é bastante pesado, porém atualizações e aprimoramentos na máquina virtual possibilitaram um melhor gerenciamento do bytecode da aplicação garantindo uma ótima performance para a aplicação Java. JIT e Hotspot O utro artifício da JVM é a detecção de pontos quentes da aplicação (partes da aplicação que são usadas com bastante frequência), a JVM decidirá quando será necessário executar essas partes da aplicação possibilitando o uso das funcionalidades somente quando forem realmente necessárias, esse recurso da máquina virtual (que também é um compilador) é conhecido como JIT ou Just In Time (bem na hora). Versões do Java A primeira versão do java 1.0 e a 1.1 traziam consigo bibliotecas bastante significativas como o Java.io e o JDBC, na transição para a 1.2 ocorreu um aumente expressivo na quantidade de bibliotecas da API java, foi quando a Sun teve a ideia de mudar o nome do Java para Java2 com o intuito de diminuir a confusão entre o Java e o Java Script, depois vieram as versões Java2 1.3, 1.4 e Java 1.5, que passou a ser chamado de Java 5 após mudanças significativas na API e por questões de marketing, até o lançamento desta apostila o java está na versão 7 com alterações significativas na estrutura da linguagem e na máquina virtual. Preparando o ambiente de desenvolvimento Agora você já conhece bastante coisa sobre o Java, JVM e como ela funciona, estamos quase prontos para começar a desenvolver e eu sei que você está bastante ansioso para começar a colocar a mão na massa! Mas primeiro é preciso preparar o ambiente de trabalho. Para desenvolver uma aplicação precisaremos de: JDK Java Development Kit (Kit de desenvolvimento java) contém todas 4

6 as bibliotecas necessárias para o desenvolvimento de aplicações Java JRE Java Runtime Environment (Ambiente de execução Java) quando nossa aplicação já estiver pronta para o uso, será preciso instalar na máquina somente o JRE que já contém a JVM, porém não possui as mesmas bibliotecas do JDK, como o nome já diz é somente para execução dos aplicativos Java Alguns programadores com experiências em outras linguagens de programação poderão dizer que o desempenho do desenvolvimento utilizando o Java será menor que se estivesse utilizando outras ferramentas como o delphi e php, porém a escolha de uma linguagem pode variar de projeto para projeto. Faça a escolha que melhor atende seu negócio. 1.1 Entendendo o Eclipse O eclipse é uma IDE (Integrated Development Enviroment) que auxilia no desenvolvimento de aplicações PHP, Java Script, HTML e claro o Java. A IDE é bastante útil para encontrar erros de sintaxe que impedem o sistema de compilar, existem outras IDE's como o NetBeans e BlueJ, para nossos exercícios e exemplos utilizaremos o Eclipse. Será no elclipse que escreveremos nossos programas gerando arquivos.java (extensão dos arquivos que contêm o código fonte da aplicação), daí o compilador cria os bytecodes de acordo com os arquivos gerados pelo editor e os transformam em.class (extensão da aplicação compilada), após compilar toda a aplicação o carregador lê os arquivos.class que estão armazenados no disco e os carrega para a memória, é onde entra em cena o verificador de bytecode que confirma que não houve nenhuma violação às restrições de segurança do java, por fim a JVM traduz os bytecodes para o sistema operacional que por sua vez carrega toda a aplicação. 5

7 Olá Java Você já deve está ansioso para criar sua primeira aplicação Java, pois bem vamos dar o nosso olá ao Java com uma simples aplicação que exibe na tela a frase Olá Java! Após configurar o nosso ambiente de trabalho com todas as ferramentas que vimos acima, criaremos nosso primeiro projeto indo em File>New>Java Project e informe o nome da aplicação, ex: Ola Java Figura 1- Criando o projeto 6

8 Clique com o botão direito sobre a pasta src dentro do projeto e selecione New>Class para criar uma classe java Figura 2- Criando a classe Figura 3- Inserindo o nome da classe 7

9 Nomeei a classe com o nome OlaJava sem acento e com a primeira letra maiúscula, isso é um padrão da linguagem, ou seja, todas as classes terão que começar com letras maiúsculas, e sem espaços, porém podemos adotar o CammelCase expressão dada a nomenclaturas com letras maiúsculas e minúsculas em uma mesma palavra. Após criarmos nossa primeira classe Java já poderemos começar a escrever nossa aplicação. Digite o seguinte código no editor quer irá gerar na tela a frase Olá Java!: Figura 4- Código Olá java Figura 5- Executando o código Agora vamos entender o código! Dentro da classe OlaJava chamamos o método public static void main(string[] args) { } que é responsável por executar a aplicação (só pode existir uma chamada ao método main em toda a aplicação), quando o programa é executado a JVM procura a classe que contém a chamada ao método main e sabe que ela é a classe principal e que a partir dela executará toda a aplicação. Dentro do método chamamos outro método o println e passamos como parâmetro a frase que queremos mostrar na tela (falaremos sobre passagem de parâmetros e métodos mais a frente). 8

10 2 Indicadores e palavras-chaves Assim como toda linguagem de programação, o Java possui suas restrições quanto à escrita do código fonte, por exemplo, se esquecermos de colocar o ponto e vírgula no final da declaração System.out.println( ) e tentarmos executar a aplicação será lançado o seguinte erro: Figura 6- Erro no código Figura 7- Executando o cóidigo com erro 2.1 Palavras-chaves Palavras chaves são palavras reservadas da linguagem, no nosso caso, as palavras reservadas do java são as citadas a seguir: Figura 8- Palavras reservadas do Java 9

11 Essas palavras-chaves não podem ser usadas para nomear classes, métodos, ou variáveis, as IDE's ajudam o desenvolvedor a se precaver desses erros na hora da construção de um projeto avisando ao mesmo que o nome é uma palavra reservada da linguagem. 2.3 Tipos primitivos Toda variável no java tem um tipo e um nome. Figura 9- Tipo e nome de variável Podemos dividir as variáveis do Java em dois tipos, os tipos por referência e tipos primitivos onde temos como tipos primitivos byte, short, long, boolean, int, char, double e float. Uma variável primitiva só pode armazenar um valor por vez, um exemplo disso é uma variável do tipo double (ex: 0.2), ao adicionar um valor a uma variável do tipo double e em seguida atribuir outro valor (ex: 2.3), o valor inicial será substituído, por isso que ao criar variáveis do tipo primitivo elas receberão valores padrões, onde char, byte, short, long, int, double e float, receberão valor 0(zero) já as variáveis do tipo boolean iniciarão como false, porém nada o impede de atribuir um valor inicial a uma variável, respeitando o tipo que ela recebe claro, lembrando que as variáveis locais não são inicializadas por padrão! O java é uma linguagem fortemente tipada, isso quer dizer que ao declarar uma variável é preciso informar o tipo da mesma e que ela só receberá valores do tipo que foi declarada. 10

12 Quando nos referimos a variáveis de escopo local estamos falando de variáveis que foram declaradas dentro do corpo de algum método, já quando falamos em variáveis de escopo global estamos nos referindo a variáveis declaradas no escopo da classe, fora de qualquer método! Ao tentar utilizar uma variável local sem inicializá-la causará um erro de compilação! Tipos por referência são utilizados para armazenar os endereços dos objetos na memória do computador, sendo assim os objetos podem conter outras variáveis de instância e até mesmo métodos, quando uma variável de referência não aponta para nenhum objeto ela recebe o valor null, indica que essa variável está vazia. 2.4 Constantes Algumas pessoas por estarem iniciando seus estudos em java se perguntam se uma variável declarada como String é um tipo primitivo, que neste caso é uma referência à classe String do pacote java.lang. Aqui vai uma dica, todo tipo por referência inicia o tipo da variável com letra maiúscula, ex: String nome; Pessoa p2; Vimos como declarar variáveis de tipo primitivo e tipo por referência, agora iremos um pouco mais a frente explicando um conceito bastante utilizado no Java, o uso das constantes. Sempre que falamos em constante nos remete a algo que nunca varia de estado, e como a Orientação a Objetos abstrai conceitos do mundo real podemos definir que uma constante em java é uma variável ou um comportamento (método) que nunca altera seu estado. 11

13 Para definir uma constante no java utilizamos a palavra reservada final na declaração do método ou variável, ex: Figura 10- Declarando uma constante O mesmo acontece para os métodos, porém de forma um pouco diferente, se declararmos um método como final, o mesmo não pode ter seu estado alterado em uma subclasse da classe onde o método foi declarado, caso contrário irá lançar um erro informando que o método declarado na subclasse não pode sobrescrever um método final declarado em uma superclasse(não se preocupe agora com os termos superclasse ou subclasse, iremos falar sobre isso mais a frente). Também, podemos ter classes declaradas como final porém a particularidade delas é que não podem ser herdadas e todos os métodos declarados em uma classe tida como final também serão constantes. 12

14 3 Operadores Na linguagem java possuímos operadores distintos para cada tipo de situação, como os exemplificados na tabela: Operador De atribuição = Atribuir valore a uma variáveis += Incrementa e atribui -= Decrementa e atribui =+ Atribui e depois incrementa =- Atribue e depois decrementa Aritmético + Soma - Subtração * Multiplicação / Divisão % Mod (resto) ++ Incrementa um ao valor atual - - Subtrai um do valor atual Comparação < Menor que <= Menor que e igual > Maior que >= Maior que e igual == Igual a!= Diferente de Instanceof Compara a instância do objeto com uma classe Lógicos 13

15 Or (ou uma opção ou outra) && And (uma opção e outra)! De negação Outros + Também usado para concatenar Strings *Existem outros operadores lógicos conhecidos como Bitwise, porém não são comumente utilizados 3.1 Operadores de atribuição Quando atribuímos um valor a uma variável estamos alterando o valor original da mesma seja ela um tipo primitivo ou de referência, então fazemos uso do sinal de igualdade (=), lembrando que uma variável de referência não é um objeto e sim a maneira de se chegar a um, da mesma forma que não pode ser vista como um ponteiro, pois diferente do C++ o java não possui ponteiros. Lembre-se que ao atribuir à variável de referência o tipo do valor faz toda a diferença, por exemplo: Não podemos atribuir um valor do tipo String a um valor do tipo inteiro. 14

16 3.2 Operadores e atribuição compostos: Existem 11 tipos de operadores compostos, mas somente quatro são utilizados, são eles: (+=, -=, *= e /=), eles nos permitem dar uma descansada nos dedos economizando algumas digitadas de código, ex: 3.3 Operações de comparação Figura 11- Atribuição composta Comumente são seis operadores de comparação, são eles: (<,<=,>,>=,== e!=), onde seu objetivo é sempre resultar em valores booleanos, vejamos o exemplo abaixo: Estes operadores são usados geralmente em instruções de controle (não se preocupe agora em entender instruções de controle, iremos abordar mais a frente). Já o operador Instanceof somente é usado para variáveis de referência para verificar se um objeto é de um tipo específico (quando falamos em tipo, estamos nos referindo a interface ou classe), por isso o instanceof é também um operador de comparação, onde o resultado é um boolean veremos o exemplo abaixo: 15

17 Figura 12- Instanceof 3.4 Operadores aritméticos Os operadores aritméticos são bastante conhecidos e são usados para efetuar cálculos matemáticos básicos, ex: 3.5 Operadores lógicos Figura 13- Operador Aritmetico Os operadores lógicos são bastante utilizados em blocos condicionais onde precisamos de resultados booleanos para uma tomada de decisão. Além do operador &&(and) temos o (or) e!(not). Figura 14- Operador lógico 16

18 3.6 Operador de concatenação de Strings (+) Uma particularidade dos tipos Strings é a forma como é tratada a concatenação entre um tipo String e outra variável, seja do tipo primitivo ou por referência, o resultado é uma nova String, onde à um *cast automático para o tipo String. Cast é uma forma de converter os tipos das variáveis, por exemplo, se tenho uma variável do tipo inteiro posso convertê-lo para um double. Veremos cast no próximo ponto, continue lendo! Figura 15- Concatenação e conversão de String Verifique que na primeira impressão de texto fizemos uma soma (usamos um operador aritmético), já na segunda impressão fizemos uma concatenação entre uma String e uma possível soma de inteiros, porém houve uma conversão do tipo inteiro (int) para o tipo String, por isso temos como resultado o valor 31 (apenas juntou as Strings) 17

19 4 Casting Nos tópicos acima vimos um ótimo exemplo de casting, mas agora iremos aprofundar um pouco mais nos conceitos de casting. Quando falamos em Cast, podemos facilmente entender como uma conversão, onde pode ser uma conversão implícita ou explícita. Implícita é quando não precisamo escrever um código para efetuar a conversão(cast), em outras palavras, temos uma conversão implícita quando inserimos um item menor em outro maior (quando colocamos um número do tipo int em uma variável do tipo double), já a conversão explícita é o contrário, onde temos que escrever o código responsável pela conversão dos dados. Para entender melhor, vamos para os exemplos: Figura 16- Cast Implícito Na linha 5, definimos o valor da variável i com os números 123, de forma implicita, fizemos um cast do valor int para float (ou seja, tiramos os números 123 de um contêiner menor para um outro maior, que no caso é o float. Assim como item de contêiner menor pode ser convertido para um contêiner maior, podemos fazer o contrário com a ajuda da conversão explicita, como no exemplo abaixo: Ao convertermos a variável d do tipo double (variáveis do tipo double aceitam valores decimais) para o tipo int, temos a perda do valor depois do ponto, pois o tipo int não reconhece valores decimais, por isso que quando mostramos o valor de i são mostrados somente os números 123. Para esse caso, não podemos ter uma conversão implícita, pois a mesma implicará no seguinte erro: 18

20 Figura 17- Cast Incorreto Na linha 8, estamos tentando fazer uma conversão implícita do tipo double para o tipo int, isso não será possível, pois o contêiner double é maior que o contêiner int, onde nesse caso estamos tentando colocar todo o valor dcecimal dentro da variável i. Também tempos um cast implícito, quando concatenamos variáveis com uma String, automaticamente ocorrerá uma conversão para o tipo String. Tome atenção ao concatenar um atributo com outro do tipo String, pois o resultado pode não ser o esperado! 19

21 Orientação a objetos A ntes de falarmos em orientação a objetos vamos voltar um pouco antes de surgir a OO e entender como se dava a programação modular. Uma das alternativas de sanar os problemas provenientes da Programação Orientada a Procedimentos foi a programação modular, que tem como objetivo dividir a aplicação em vários módulos fazendo a combinação entre dados e procedimentos, a ideia era ocultar detalhes internos do restante do programa (veremos que na OO isso chama-se desacoplamento do código, veremos mais a frente), porém alguns problemas foram encontrados como por exemplo a visibilidade dos atributos da aplicação, podendo alterá-los em qualquer lugar, outro problema era quanto à prática do reuso de código. Um exemplo de linguagem modular é o C que incorpora os módulos por meio da definição de tipos abstratos de dados com o uso do operador struct. Visando atender a um mercado bastante crescente e com o objetivo de simular situações reais surgiu a POO (Programação Orientada a Objetos) onde permite a criação de uma abstração do cotidiano e implantar soluções que atendesse a problemas reais. Uma das particularidades da OO é a visibilidade de atributos e comportamentos do sistema impedindo alterar seu estado ou tipo. Com esse avanço foi possível modelar os sistemas de forma análoga aos problemas do mundo real, assim como a redução nos custos de fabricação e manutenção das aplicações. A OO adiciona conceitos novos à programação modular, como a herança e o polimorfismo deixando de ser dividido em módulos/procedimentos e passando a ser divido em classes/objetos. Também houve alteração no fluxo do programa, que deixou de ser sequencial e passou a ser por interações entre os objetos. 20

22 5.1 Atributos Como vimos nos exemplos dos capítulos anteriores, atributos podem ser de tipo primitivo ou por referência e é essencial diferenciarmos os dois. Variáveis declaradas como do tipo por referência são usadas para salvar o endereço de memória do objeto. Quando temos um objeto instanciado na memória (não se preocupe agora a palavra instanciado, iremos abordá-la mais a frente) e precisamos tratar esse objeto (alterar seu estado ou recuperar algum dado) temos que guardá-lo em uma variável de referência do mesmo tipo do objeto, como fazemos com variáveis do tipo String, vejamos o exemplo: Figura 18- Variável de Referência Como podemos observar, alteramos o valor da variável variavelstring do tipo String passando como valor a frase Olá java! e em seguida mostramos seu valor fazendo apenas uma chamada à variável. Para manter a organização do código tente seguir um padrão, uma das melhores práticas de programação é adotar o uso do cammel case nos nomes das variáveis inserindo letras maiúsculas e minúsculas (ex:nomedavariavel), evite iniciar o nome da variável com letra maiúscula e nunca utilize acentos ou espaços. 21

23 Para declarar atributos no Java, devemos seguir alguns padrões da linguagem, diferente da linguagem Pascal e do Action Script não precisa inserir antes da variável o operador VAR, bastando apenas informar a visibilidade, o tipo e o nome da variável. private String str; <visibilidade> <tipo> <nome>; 5.2 Modificadores de acesso Como vimos, um dos preceitos da OO é a atenção à visibilidade dos atributos e métodos de uma classe. Os tipos de modificadores de acesso podem ser public, private, protected e default. Public: Definir variáveis com acesso público fará com que a mesma seja visualizada em qualquer lugar do código, não é boa prática definir todas as variáveis do código como pública, isso estará ferindo o conceito de segurança do código. Quando falamos em segurança do código estamos nos referindo a você programador, onde são adotadas medidas que esconde os atributos e métodos das outras partes do código. Private: Membros marcados com o modificador private não podem ser acessados por outras classes do código. Já a classe que declarou o membro private terá acesso total ao atributo ou método. 22

24 Protected e Default: Apesar de serem bastante idênticos, cada um tem sua particularidade. O modificador protected é utilizado para permitir acesso somente a classes do mesmo *pacote, classes de pacotes diferentes não conseguem visualizar diretamente esses membros declarados como protected. Já o modificador default permite acesso somente a classes do mesmo pacote, sendo assim, classes de pacotes diferentes não conseguem visualizar membros default. Então pelo que ficou entendido, o protected e o default têm o mesmo propósito? A particularidade do membro protected dá-se pela capacidade de poder visualizar membros protected em subclasses de outros pacotes, já os membros default não podem ser visualizados de forma alguma por classes de outros pacotes! Ótimo, estamos começando a entrar em conceitos bastante empolgantes do java e da OO, por isso não se preocupe agora com o termo subclasse o u superclasse, iremos abordá-los logo logo! Outra particularidade da OO e da linguagem java é que NÃO podemos aplicar modificadores de acesso em variáveis de escopo local, somente em variáveis de escopo global. Lembrando que variáveis de escopo global são variáveis declaradas fora dos métodos, dentro da classe. Já variáveis locais são declaradas dentro de métodos. 23

25 Visibilidade Public Private Protected Default Em subclasses do mesmo pacote Em qualquer classe do mesmo pacote Dentro da mesma classe Sim Não Sim Sim Sim Não Sim Sim Sim Sim Sim Sim Em outro pacote Sim Não Sim (pela herança) Não Em subclasses do mesmo pacote Sim Não Sim Sim 5.3 Métodos Ao falarmos em métodos lembre-se sempre de comportamento, pois como trabalhamos com OO, os métodos definem o comportamento do objeto. Todos os métodos devem ser declarados no escopo da classe interagindo com variáveis globais ou locais. Um exemplo clássico em livros de Java com OO, é o exemplo do cachorro, que tem funções(métodos) próprios, como por exemplo latir, andar, uivar e etc. Esses métodos irão definir e de certa forma especializar aquele objeto, podendo assim haver interações entre os métodos declarados em uma classe. Figura 19- Declarando método 24

26 Agora vamos entender essa parte do código e o método declarado. Na linha 5 definimos primeiramente o modificador de acesso desse método, que no caso é public, ou seja, o método latir pode ser acessado em qualquer lugar do código, após o modificador de acesso definimos o tipo do retorno (lembre-se que sempre que for declarar qualquer método deve-se informar o tipo de retorno dele), nesse caso definimos o retorno como void, significa que o método não irá retornar nenhum valor, retornar? Mas para quem?? Quando chamamos um método em qualquer lugar do código, esse método pode retornar algum resultado, como um objeto ou um resultado de uma soma qualquer, vejamos o exemplo: Figura 20- Escopo local Observe que na linha 5 alteramos o tipo de retorno do método de void para String, o que nos obriga agora a retornar um valor String, agora qualquer elemento do código que chamar o método latir receberá a variável latido e seu respectivo conteúdo Miau!?!?. Podemos também ter métodos declarados como static, que podem ser acessados em qualquer lugar do código chamando apenas a classe e o método, sem precisar de uma variável de referência! Continue estudando, iremos abordar esse assunto mais a frente. 25

27 Em várias partes dessa apostila falamos em variáveis de escopo local e variáveis de escopo global, pois bem essa é a melhor hora de exemplificar esses dois tipos: Lembre-se sempre, o nome do método nunca pode iniciar com números, existem outras regras, pesquise sobre essas regras, vale a pena! Figura 21- Escopo do método Tudo que está entre {e} do método é tido como local, por exemplo a variável latido está definido dentro do método latir(), isso quer dizer que essa variável só pode ser acessada dentro do método latir(), não podendo assim outro método definido na mesma classe acessar essa variável ou qualquer outra que venha a ser declarada dentro do método. Já como podemos ver no exemplo, o escopo global é todo o espaço da classe, onde definimos os métodos e variáveis que poderão ser acessadas ou modificadas por qualquer método dentro da classe. 26

28 Outra particularidade dos métodos é que podemos informar quando um método irá receber algum valor como parâmetro Observe que na linha 5 declaramos a variável String latido no escopo de passagem de parâmetro, agora o método latir( ) espera receber como parâmetro algum valor do tipo String, a partir de agora, quando fizermos uma chamada ao método latir( ) em qualquer parte do código, seremos obrigados a passar como parâmetro um valor String ou um valor null. Quando passamos como parâmetro o valor null, estamos enviando uma referência nula para a variável do tipo String, pois como vimos anteriormente, String é uma classe e não um tipo primitivo! O null quer dizer que essa variável não aponta para nenhuma referência ou objeto! Essa também é a melhor hora para falarmos da propriedade this, pois está totalmente ligado à variáveis de escopo global, local e consequentemente à métodos e passagem de parâmetros. Figura 22- Utilizando this 27

29 Com a palavra-chave this podemos referenciar dentro de um método uma variável definida no escopo global. Porém nesse caso se retirarmos o this referenciamos a variável novolatido do mesmo jeito. Então qual a utilidade do this? Uma boa prática de desenvolvimento de software é declarar variáveis com nomes que têm haver com o contexto, sendo assim uma boa prática declararmos apenas a variável latido fora do escopo do método e fazer uma referência a essa variável através do this Exclusivamente nesse caso, se retirarmos o this iremos nos deparar com um erro de lógica, onde estaremos processando somente a variável de escopo local. Uma variável declarada no escopo de passagem de parâmetro é vista pelo método como uma variável local e só poderá ser tratada dentro do corpo do método! 5.4 Métodos get( ) e set( ) Falamos no começo dessa apostila sobre modificadores de acesso, e nos deparamos com o modificador private, agora que falamos de métodos podemos encontrar uma maneira de trabalhar com essas variáveis privadas. Uma boa prática de desenvolvimento e peça chave da OO é o encapsulamento, você já deve ter ouvido falar sobre esse assunto em algum lugar, pois quando falamos de OO é quase que impossível não falar de encapsulamento, porém iremos nos aprofundar nesse assunto mais a frente, até agora só precisamos saber que declarar variáveis ou métodos como private é uma prática que mantém o encapsulamento do código. Você deve estar se perguntando como irá acessar essas variáveis privadas em outras classes! Porém a solução estão nos métodos get() e set() onde o método get() apenas retorna um atributo e o método set() altera o valor do atributo, dessa forma podemos chamar esses métodos para ter acesso a essas variáveis 28

30 Algumas pessoas poderão dizer que não gosta de Java por conta do encapsulamento e dos vários caminhos que devemos percorrer para alterar ou ler o valor de alguma variável, mas isso é o charme dessa linguagem e da OO com a prática, você se sentirá obrigado a sempre programar dessa forma. Agora, só poderemos ter acesso em outra classe à variável latido por meio dos métodos getlatido( ) e setlatido( ). Na IDE eclipse, temos um atalho que nos auxilia a declarar de forma automática os métodos get( ) e set( ): Figura 23- Gerando Getters e Setters Clique com o botão direito em cima do código, repouse o mouse em cima de source e selecione a opção Generate Getters an Setters, será mostrado uma tela com os atributos, daí você pode selecionar qual método deseja criar. 29

31 Figura 24- Getters e Setters gerados 5.5 Classes Gosto muito de dar um exemplo bastante prático e também bastante usado em livros de Java e OO para definir Classe em Java. Podemos ver uma Classe com um molde ou uma planta de uma casa, onde contém os atributos e comportamentos dos objetos, por exemplo: Quando vamos fazer uma casa, primeiro projetamos o que irá compor essa casa e quais funções terão cada parte da casa para depois poder usar essa planta e fazer casas no mesmo padrão, porém em lugares diferentes (lógico). Do mesmo jeito é feito com o java, declaramos uma classe com seus atributos e métodos, para depois usá-la como um molde para contruir objetos com as mesmas funções e atributos, só que estarão em lugares diferentes. Agora ficou claro? Se não ficou ainda, vamos exemplificar em java para você entender melhor. Em outras palavras, uma classe é o arquivo onde tudo será declarado. 30

32 Figura 25- Classe Porém como vimos em atributos e métodos, as classes também podem ser public ou default, mas nunca private ou protected* Podemos ter classes private ou protected quando definimos uma classe interna, mas esse conceito iremos tratar mais a frente! Como vimos no começo dessa apostila, uma classe deve sempre ser declarada com a primeira letra maiúscula, essa padronização nos ajuda a identificar quando estamos referenciado uma classe ou um tipo primitivo. Também podemos ter classes dentro de outras classes, denominadas como classes internas, essas classes têm seu acesso ainda mais restrito, sendo acessada somente no escopo da classe que a encapsula. 31

33 Figura 26- Classe Interna Repare que a classe Cachorro está declarada dentro do escopo da classe Animal, na linha 4 declaramos uma variável nome do tipo String, essa variável poderá ser acessada tanto dentro da classe Animal quanto em Cachorro, porém a variável patas do tipo int(integer) só poderá ser acessada dentro da classe Cachorro. Também existe outro conceito parecido com classes internas, são as classes anônimas, mas não iremos abordar nessa apostila, porém vale a pena pesquisar sobre o assunto! 5.6 Objetos Agora que já conhecemos o que é uma classe, estamos aptos a entender o que é um objeto. Vimos que as classes são os moldes, mas moldes são usados para fabricar alguma coisa, para fabricar essa coisa precisamos de um construtor, no caso da casa, precisaremos dos pedreiros, no caso do java precisaremos do NEW, essa palavra reservada tem o poder de criar objetos, transformar meras variáveis de referência em variáveis de instância, você já deve ter ouvido esse termo em algum lugar, porém é comum fazer confusão entre variável de referência e variável de instância. 32

34 Verifique que na linha 4 estamos declarando uma variável do tipo Cachorro e logo após na mesma linha estamos fazendo uma chamada ao construtor da classe cachorro, que irá construir de fato o objeto cachorro, é nessa hora que damos vida ao nosso objeto e podemos usar todos os seus métodos e atributos* Lembre-se de que só podemos ter acesso a membros private por intermédio de métodos! Ao instanciar um objeto estamos ocupando um espaço na memória do computador, o mesmo receberá um endereço correspondente à sua localização na memória, quando declaramos uma variável de referência, por padrão ela recebe como valor null o que indica que ela não aponta para nenhum espaço de memória do computador, ou seja ela não é um objeto. 33

35 Figura 27- Instância vs. Referência é o endereço de memória do objeto. Legal isso não? Com isso podemos ter objetos distintos porém com comportamentos diferentes, um outro exemplo muito bom para isso somos nós, onde todos possuímos RG, CPF, idade, altura, peso, mas somos pessoas com características distintas, ou seja os objetos terão os mesmo atributos e métodos, porém com valores diferentes. Com o advento da OO, podemos passar objetos por parâmetro de métodos, por exemplo: Figura 28- Enviando objeto por parâmetro 34

36 Na linha 5 da classe Animal, declaramos o método receberogato(gato gato), que receberá como parâmetro uma variável do tipo Gato, para ter acesso a esse método instanciamos uma variável animal do tipo Animal na linha 6 da classe cachorro e enviamos como parâmetro o objeto gato do tipo Gato. Como afirmamos anteriormente, podemos ter objetos com comportamentos e atributos iguais, porém com valores diferentes, mas também podemos ter ações pré definidas ao instanciar uma variável, alterando apenas o construtor como no exemplo abaixo: Figura 29- Alterando o construtor Na linha 6 da classe Gato declaramos um construtor de Gato. 35

37 5.7 ToString( ) É quase impossível falar sobre o método tostring e não falar de herança ou polimorfismo, mas deixaremos esses dois tópicos para mais a frente, agora o que precisamos saber sobre o método tostring( ), é que toda classe que herda de Object tem o método tostring( ) e em Java, toda classe quando criada, automaticamente recebe por herança o método tostring( ). A ideia central do tostring( ) é que você obtenha alguma representação de determinado objeto. Não entendeu? Para entender melhor, vamos alterar a classe Gato( ) do exemplo anterior, que ficará da seguinte forma: Figura 30 - Alterando o método tostring( ) Entre as linhas 15 e 19 temos a declaração do método tostring() que foi reescrito para adicionar um valor à variável sobrenome com o valor Gato, a particularidade do método tostring() é que todas as classes têm esse método implicitamente e pode ser acessado a partir de qualquer objeto, no nosso caso é o objeto gato, em outra classe que instânciar um objeto do tipo Gato, poderá acessar o método tostring() e mostrar o valor delclarado na classe Gato. Para enfatizar o que falamos acima, ao instânciar um objeto do tipo Gato, conseguimos mostrar o valor Gato que é justamente o valor que o método tostring() retorna, que é o sobrenome do gato. Agora façamos o seguinte teste: Apague o método tostring() da classe Gato e coloque para executar a classe Cachorro (que contém o método main), o resultado será algo parecido com este: 36

38 Figura 31- Utilizando o método tostring( ) modificado Dessa vez mostramos o endereço de memória do objeto gato, que só foi possível porque o método tostring() está declarado na classe Object e como toda classe em Java herda de Object, é feita uma chamada implícita ao método tostring() da mesma, que por padrão tem a função de mostrar o endereço de memória do objeto, por isso que afirmo novamente, que o método tostring() tem a responsabilidade de mostrar alguma representação significativa de determinado objeto. 37

Prof. Esp. Adriano Carvalho

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

Leia mais

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

Lógica de Programação

Lógica de Programação Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE

Leia mais

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

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos

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

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

Módulo 06 Desenho de Classes

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

Leia mais

Linguagem de Programação Visual

Linguagem de Programação Visual Linguagem de Programação Visual Unidade 1 Ambiente de desenvolvimento Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 SOBRE O JAVA... 3 AMBIENTE DE DESENVOLVIMENTO... 5 RECURSOS DA FERRAMENTA NETBEANS...

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

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

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a

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

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

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

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

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br

Organização de programas em Java. Vanessa Braganholo vanessa@ic.uff.br Organização de programas em Java Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Java! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem

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

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

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

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

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

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora OOP - Java Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora 1 Sumário Java Aviso! História do Java Programação Orientada à Objetos Os quatro pilares da OOP Abstração

Leia mais

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40 JAVA Marcio de Carvalho Victorino 1/40 Introdução 2/40 Page 1 Programação OO Elementos do modelo OO: Abstração: é o processo de abstrair as características essenciais de um objeto real. O conjunto de características

Leia mais

Orientação a Objetos

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

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

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

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

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

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

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

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

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

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

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.

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

Java para Desktop. Introdução à Plataforma Java JSE

Java para Desktop. Introdução à Plataforma Java JSE Introdução à Plataforma Java JSE Aécio Costa aeciovc@gmail.com @aeciovc Objetivos Sintaxe Java; Programação Orientada à Objetos; Interfaces Gráficas Swing; JDBC; Gerador de Relatórios IReport; Projeto

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Java e Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas necessários...

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

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

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

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

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: 02 APRESENTAÇÃO: Apresentação; conceitos básicos da linguagem java; estrutura

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 2 Java como ferramenta de experimentação Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas

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

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

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

PROGRAMAÇÃO JAVA. Parte 1

PROGRAMAÇÃO JAVA. Parte 1 PROGRAMAÇÃO JAVA Parte 1 O que é um programa? Um algoritmo (sequência de operações elementares - instruções) convertido para uma linguagem que possa ser executada por um computador Programa = Algoritmos

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

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

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

Lição 9 Trabalhando com bibliotecas de classes

Lição 9 Trabalhando com bibliotecas de classes Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus

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

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

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

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

Leia mais

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

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

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

Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compor um programa:

Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compor um programa: 1 1. Introdução Este manual se propõe a dar uma visão inicial do Java e apresentar os primeiros passos para sua instalação, configuração e usabilidade pelo prompt de comando do Windows. O ideal é que este

Leia mais

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm. Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado

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

AULA 02. 1. Uma linguagem de programação orientada a objetos

AULA 02. 1. Uma linguagem de programação orientada a objetos AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações

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

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

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

A Linguagem Java. Alberto Costa Neto DComp - UFS

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

Leia mais

Orientação a Objetos e a Linguagem Java

Orientação a Objetos e a Linguagem Java Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1 Objetivos do Curso Apresentar o paradigma orientado a objetos como técnica para elaboração de projetos e implementação

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

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

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 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

Java Básico. Aula 1 por Thalles Cezar

Java Básico. Aula 1 por Thalles Cezar + Java Básico Aula 1 por Thalles Cezar + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++ Mas resolveram desenvolver uma linguagem própria Oak

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

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

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas O que é PHP? Acrônimo de PHP: Hipertext Language PostProcessor Inicialmente escrita para o desenvolvimento de aplicações Web Facilidade para iniciantes e recursos poderosos para programadores profissionais

Leia mais

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens:

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens: 1ª QUESTÃO Linguagem C Vantagens: É uma linguagem simples que nos permite trabalhar com funções matemáticas, ficheiros, entre outras sendo necessário para tal a inclusão de bibliotecas padrão as quais

Leia mais

AULA DE JAVA 1 - CONCEITOS BÁSICOS

AULA DE JAVA 1 - CONCEITOS BÁSICOS AULA DE JAVA 1 - CONCEITOS BÁSICOS DAS 5316 Integração de Sistemas Corporativos Roque Oliveira Bezerra, M. Eng roque@das.ufsc.br Prof. Ricardo J. Rabelo ROTEIRO Introdução Fases de um programa Java Strings

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

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Linguagens de programação

Linguagens de programação Prof. André Backes Linguagens de programação Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve ser descrito em termos de 1 s ou 0 s

Leia mais

LINGUAGEM DE PROGRAMAÇÃO JAVA

LINGUAGEM DE PROGRAMAÇÃO JAVA LINGUAGEM DE PROGRAMAÇÃO JAVA Curso de Especialização em Tecnologia Java UTFPR Capítulo 1 Parte 1 Introdução à tecnologia Java Ambiente de desenvolvimento Java Introdução à Tecnologia Java O que é Java?

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software O software é algo abstrato, pois são as instruções que quando executadas atingem o propósito desejado no sistema computacional. (Algoritmo). As principais características são: Complexidade:

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

Introdução a conceitos e a prática de programação

Introdução a conceitos e a prática de programação Instituto de Informática - UFG Disciplina: Introdução à Computação Introdução a conceitos e a prática de programação Autores: Marcelo Akira e Anderson Soares Fevereiro de 2011 Alguns direitos autorais

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

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

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

Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Paradigmas de programação (1) Um paradigma de programação fornece (e determina) a visão que o programador possui sobre

Leia mais

Características do PHP. Começando a programar

Características do PHP. Começando a programar PHP Introdução Olá pessoal. Desculpe o atraso na publicação da aula. Pude perceber pelas respostas (poucas) ao fórum que a realização da atividade do módulo I foi relativamente tranquila. Assistam ao vídeo

Leia mais

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

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

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 1: Introdução MEEC@IST Java 1/27 História versões (1) [1995] Versão 1.0, denominada Java Development Kit (JDK) 212 classes em 8 pacotes Lento, muitos bugs, mas com Applets

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

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

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

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express Aula 01: Linguagens de Programação e Introdução ao Visual C# Express EMENTA: Introdução ao Visual C#. Fundamentos da Linguagem. Estruturas de decisão e repetição. Modularização de Programas: Funções. Arrays

Leia mais

Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++

Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++ Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++ 1. Introdução Em nossa primeira aula prática de programação em linguagem C iremos escrever e testar programas de computador básicos. Mas antes,

Leia mais

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

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

Programação Elementar de Computadores Jurandy Soares

Programação Elementar de Computadores Jurandy Soares Programação Elementar de Computadores Jurandy Soares Básico de Computadores Computador: dispositivos físicos + programas Dispositivos físicos: hardware Programas: as instruções que dizem aos dispositivos

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

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

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

Leia mais