Baixe o app para aproveitar ainda mais
Prévia do material em texto
* * Linguagem de Programação Orientada a Objetos Orientação a Objetos Prof. Cristiano B. de Oliveira Módulo 2: Classe, Atributos e Métodos * * Classe, Atributos e Métodos Introdução; Sintaxe básica de criação de classes em Java; O que pode conter uma classe em Java; O que é um atributo em Java; Sintaxe básica de criação de um atributo em Java; O que é um método em Java; * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java; Campos em classes em Java: Usando dados nativos de Java, Declarando campos em classes em Java e Que tipos de dados devem ser usados; Métodos em classes em Java: Chamando métodos em Java e Declarando métodos em Java; Escopo; Modificadores de acesso; * * Classe, Atributos e Métodos Introdução – Classes, Atributos e Métodos: Classe No mundo real freqüentemente percebemos vários objetos de um mesmo tipo. Por exemplo: seu carro é um dos muitos carros existentes no mundo. Usando a terminologia OO, dizemos que um carro em particular é uma instância da classe de objetos conhecida como carros. Os carros, em geral, possuem estado (cor, potência do motor, combutível) e comportamento (ligar, acelerar, brecar, mudar marcha) em comum. O estado de cada carro é independente e pode ser diferente do estado dos outros carros. Cada carro pode ter uma cor diferentes, por exemplo. A partir dessas semelhanças, os fabricantes de veículos tiram vantagem disso para padronizar a construção de carros de um mesmo tipo, definindo um modelo único com características iguais para todos os carros a serem produzidos. * * Classe, Atributos e Métodos Introdução – Classes, Atributos e Métodos: Classe Na Orientação a Objetos também é possível ter vários objetos do mesmo tipo, que compartilham caracteríscas em comum. Tirando vantagem dessa semelhança entre alguns objetos, também é possível criar modelos para esses objetos. Esse modelo é chamado de CLASSE. As classes são tipos que podem ser criados. Por definição: Uma classe é um modelo (protótipo) que define as variáveis(estado) e os métodos (comportamento) comuns a todos os objetos do mesmo tipo. cc Classe Objeto * * Classe, Atributos e Métodos Introdução – Classes, Atributos e Métodos: Classe Na classe são definidas as variáveis e implementados os métodos. Os objetos são criados a partir de suas classes. A cada objeto criado o sistema aloca memória para o novo objeto e suas variáveis. placa cor combustível API públicas (métodos) Carros potência do motor Comumente fazem confusão entre classes e objetos. Lembre-se que classe define as características comuns e os objetos são instâncias dessas classes, com estado próprio. ligar brecar acelerar Motor * * Classe, Atributos e Métodos Sintaxe básica de criação de classes em Java: Classe Estrutura do código Java: Arquivo fonte Arquivo da classe Método instrução Método instrução Colocar uma classe em um arquivo fonte. Colocar métodos em uma classe. Colocar instruções em um método. * * Classe, Atributos e Métodos Sintaxe básica de criação de classes em Java: Classe O que escrevemos dentro de um arquivo fonte ? Um arquivo de código fonte (com a extensão .java) será a definição de uma classe. A classe representa um pedaço do seu programa, entretanto uma aplicação muito pequena possivelmente necessitará apenas de uma classe. A classe obrigatoriamente vai dentro de um par de chaves como segue abaixo: public class Dog { } class * * Classe, Atributos e Métodos Sintaxe básica de criação de classes em Java: Classe O que escrevemos dentro de uma classe ? A classe tem um ou mais métodos. Dentro da classe Dog, o método bark conterá as instruções de como um cachorro deve latir. Seus métodos obrigatoriamente serão declarados dentro de uma classe ( em outras palavras, dentro das chaves da classe). public class Dog { void bark() { } método (method) } * * Classe, Atributos e Métodos Sintaxe básica de criação de classes em Java: Classe Anatomia de uma classe Quando a JVM ( Java Virtual Machine = Máquina Virtual Java) começa a rodar, ela procura pela classe digitada na linha de comando. Então isto começa a procurar por um método especialmente escrito que é exatamente como segue abaixo: public static void main (String[ ] args) { // seu código é escrito aqui } A JVM ( Java Virtual Machine = Máquina Virtual Java) roda todas as instruções entre as chaves { } do seu método main. Todas as aplicações Java tem que ter no mínimo uma classe, e no mínimo um método main (não um main por classe, apenas um main por aplicação). * * Classe, Atributos e Métodos Sintaxe básica de criação de classes em Java: Classe Anatomia de uma classe public class MyFirstApp { public static void main (String[ ] args) { System.out.print(“Testando o método main”); } } 1 – Salvar a classe MyFirstApp.java. 2 – Compilar o código fonte: javac MyFirstApp.java 3 – Rodar o programa: java MyFirstApp * * Classe, Atributos e Métodos Sintaxe básica de criação de classes em Java: Classe Qual a diferença entre uma classe e um objeto ? Uma classe não é um objeto, mas é usada para construir eles. Uma classe é o projeto (plano) para um objeto. Isto fala para a máquina virtual como fazer um objeto de um tipo particular. * * Classe, Atributos e Métodos O que é um atributo em Java: Atributo O que é um atributo em Java ? Os atributos em programação orientada a objetos são os elementos que definem a estrutura de uma classe. Os atributos também são conhecidos como variáveis de classe, e podem ser divididos em dois tipos básicos: atributos de instância e de classe. Os valores dos atributos de instância determinam o estado de cada objeto. Um atributo de classe possui um estado que é compartilhado por todos os objetos de uma classe. Atributos de classe podem ser chamados também de atributos estáticos ou constantes. # Uma variável de instância é uma variável cujo valor é específico ao objeto e não à classe. Uma variável de instância em geral possui uma valor diferente em cada objeto representante da classe. # Uma variável de classe é uma variável cujo valor é comum a todos os objetos representantes da classe. Mudar o valor de uma variável de classe em um objeto automaticamente muda o valor para todos os objetos instâncias da mesma classe. Um exemplo óbvio de uma variável de classe seria o número de instâncias desta classe que já foram criadas. # Uma variável é considerada como de instância por "default". Para declarar uma variável de classe, acrescenta-se a palavra-chave static. Alias, outra expressão utilizada para indicar uma variável de classe é variável estática. Exemplo: static int numero; * * Classe, Atributos e Métodos O que é um atributo em Java:Atributo O que é um atributo em Java ? Mas, qual a diferença entre atributos e variáveis? Nenhuma. Atributos e variáveis são a mesma coisa em questão de funcionalidade. Ambos são endereços de memória que tem um espaço ou tamanho definido de acordo com o tipo de dado que será guardado, por exemplo: caracter, número , número decimal, etc. Em Java, costumamos utilizar o termo atributo, que é nada além do que uma variável que está dentro de uma classe. Como tudo que fazemos em Java está contido dentro de uma classe, então usamos o termo atributo ao invés de variável. Pode se dizer também que um atributo é uma característica da minha classe. * * Classe, Atributos e Métodos Sintaxe básica de criação de um atributo em Java: Atributo Declarando um atributo em Java <modificador>* <tipo> <nome> [ = <valorInicial> ]; Exemplo: private int x; private float y = 10000.0F; public String nome = "Cristiano Borges"; * * Classe, Atributos e Métodos O que é um método em Java ? : Método Em orientação a objeto, um método é uma subrotina que é executada por um objeto. Os métodos determinam o comportamento dos objetos de uma classe e são análogos à funções ou procedimentos da programação estruturada. A chamada de métodos pode ou não alterar o estado de um objeto. Os métodos definem as ações a serem tomadas em diversos momentos da execução de um programa. Como em outras linguagens, como C, C++, Pascal, Fortran, etc, os métodos correspondem aos conceitos comuns de funções, procedimentos ou subrotinas. Estes são apenas conjuntos ordenados de declarações de dados, comandos e expressões. Em termos simples, são os métodos que realizam todas as tarefas para as quais o programa foi escrito, por exemplo, realizar cálculos, resumir informações de um arquivo, produzir um relatório, criar um gráfico, gerar um filme de animação, etc. * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método A declaração mais simples que podemos fazer de um método (lembrando que isso deve ser feito dentro de uma classe) é a seguinte: void [nome do método] () { [corpo do método] } onde o [nome do método] é um identificador que define o nome pelo qual o método é conhecido, e [corpo do método] consiste de uma lista ordenada de eclaração de variáveis, de expressões e de comandos. A primeira palavra-chave, void, define o valor retornado pelo método, neste caso, nenhum. Podemos usar qualquer tipo de dado válido como valor de retorno de um método. Nesse caso, ao terminar, o método seria obrigado a devolver um dado do tipo especificado. Por exemplo, * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método Podemos usar qualquer tipo de dado válido como valor de retorno de um método. Nesse caso, ao terminar, o método seria obrigado a devolver um dado do tipo especificado. Por exemplo: class Numero { double x = 1; void print() { System.out.println("O valor e " + x); } } define uma classe chamada Numero, a qual contém uma variável x, inicializada com 1, e um método sem valor de retorno, print, que apenas escreve um texto e o valor de x, através da chamada do método System.out.println. * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método O que você pode fazer dentro de um método main: Seu código pode falar para a JVM ( Java Virtual Machine = Máquina Virtual Java) para: 1 – Instruções: declarações, atribuições, chamada de métodos, etc. int x = 3; String nome = “Davi”; x = x * 17; System.out.print(“x é “ + x); Double d = Math.random(); // isto é um comentário * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método O que você pode fazer dentro de um método man: Seu código pode falar para a JVM ( Java Virtual Machine = Máquina Virtual Java) para: 2 – Laços: for e while while ( x > 12 ) { x = x + 1; } * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método O que você pode fazer dentro de um método man: Seu código pode falar para a JVM ( Java Virtual Machine = Máquina Virtual Java) para: 3 – Condições: if / else testes if ( x == 10) { System.out.print(“ x é 10”); } else { System.out.print(“ x não é 10”); } if (( x < 3) & (nome.equals(“Davi”))) { System.out.println(“Jorcilene”); } System.out.print(“esta linha será impressa de qualquer forma”); * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método O que você pode fazer dentro de um método man: Seu código pode falar para a JVM ( Java Virtual Machine = Máquina Virtual Java) para: Exemplo de um laço while: public class Loopy { public static void main (String [ ] args) { int x = 1; System.out.println(“Antes do Laço”); while (x < 4) { System.out.println(“No Laço”); System.out.println(“Valor do x é” + x); x = x + 1; } System.out.println(“Isto é depois do Laço”); } } * * Classe, Atributos e Métodos Sintaxe básica de criação de um método em Java ? : Método O que você pode fazer dentro de um método man: Seu código pode falar para a JVM ( Java Virtual Machine = Máquina Virtual Java) para: Exemplo de um Teste Condicional: Em Java, um teste if é basicamente o mesmo que o teste boleano em um laço while – invés de dizer, “while ainda existir cerveja...” , você vai dizer, “if ainda existir cerveja...” public class SeTeste { public static void main (String [ ] args) { int x = 3; if (x == 3) { System.out.println(“x é 3”); } System.out.println (“esta linha será impressa de qualquer forma”); } } * * Classe, Atributos e Métodos Enviando valores através de um método em Java ? : Método Você pode enviar coisas (valores / parâmetros / argumentos) para um Método: Apenas como você espera de qualquer linguagem de programação, você pode passar valores dentro dos seus métodos. Você possivelmente, por exemplo, querer falar que um objeto Dog pode fazer um cachorro latir por muitas vezes utilizando o método bark: d.bark(3); Dependendo da sua experiência em programação e preferência pessoal. Você possivelmente usa o termo argumentos ou talvez parâmetros para os valores passados dentro de um método.* * Classe, Atributos e Métodos Enviando valores através de um método em Java ? : Método Você pode enviar coisas (valores / parâmetros / argumentos) para um Método: Exemplo: Chamar o método bark utilizando a variável de referencia Dog, e passar o valor 3 (como o argumento para o método) Dog d = new Dog( ); d.bark(3); Argumento O parâmetro numOfBarks e usado como uma variável no código do método abaixo: void bark (int numOfBarks) { while (numOfBarks > 0) { System.out.println(“ruff”); numOfBarks = NumOfBarks – 1; } } * * Classe, Atributos e Métodos Enviando valores através de um método em Java ? : Método Você pode conseguir coisas (valores / parâmetros / argumentos) de volta de um Método: Exemplo: Métodos pode retornar valores. Todo método é declarado com um tipo retorno (return), mas até agora nos temos feitos todos os nossos métodos com tipo de retorno void, dos quais significa que eles não retornam qualquer coisa de volta. Exemplo: void go( ) { } } * * Classe, Atributos e Métodos Enviando valores através de um método em Java ? : Método Você pode conseguir coisas (valores / parâmetros / argumentos) de volta de um Método: Exemplo: Mas nos podemos declarar um método para dar um tipo especifico de valor para quem chama o método, tal como: int giveSecret( ) { return 42; } Se você declara um método para retornar um valor, você obrigatoriamente retorna um valor de tipo declarado. int theSecret = life.giveSecret( ); int giveSecret() { return 42; } } * * Classe, Atributos e Métodos Enviando valores através de um método em Java ? : Método Você pode enviar mais do que uma coisa (valores / parâmetros / argumentos) para um Método: Método pode ter múltiplos parâmetros. Separar eles com vírgulas quando você declara eles, e separar os argumentos com vírgulas quando você passar eles. O mais importante, se um método tem parâmetros, você obrigatoriamente passa argumentos. * * Classe, Atributos e Métodos Enviando valores através de um método em Java ? : Método Você pode enviar mais do que uma coisa (valores / parâmetros / argumentos) para um Método: Chamando um método com 2 parâmetros, e enviando os 2 parâmetros. Exemplos: void go ( ) { TestStuff t = new TestStuff( ); t.takeTwo(12, 34); } void takeTwo(int x, int y) { int z = x + y; System.out.println(“Total is “ + z); } * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar