SlideShare uma empresa Scribd logo
1 de 12
PESL (Programa de Educação em Software Livre)
Curso Básico de JAVA
Aula 8
Roteiro da Aula:
Classes
Objetos, Chamando métodos e
Declarando métodos.



Continuação...
Agora, suponhamos que desejamos criar uma classe para guardar informações sobre um quadrado. Neste caso,
não precisamos criar uma classe que dê as coordenadas do centro do quadrado assim como as suas dimensões.
Basta fazer simplesmente:

class Quadrado extends Polígono {
int lado;
// Comprimento de um lado do quadrado
}.
A classe quadrado declarada desse modo se diz uma classe derivada da classe Poligono, da qual herda os dados
(e os métodos) nela contidos. Esta declaração é equivalente a
class Quadrado {
int cx, cy; // Coordenadas do centro do polígono
int lado;
// Comprimento de um lado do quadrado
}
Desejando fazer uma classe para representar um retângulo, bastaria fazer então
class Retângulo extends Polígono {
int base, alt; // Base e altura do retângulo
}
Objetos:
Uma particular instância de uma classe é chamada objeto. Para entender a diferença entre classes e objetos,
fazemos alusão à metáfora da fábrica de torradeiras. A fábrica de torradeiras não é uma torradeira, mas define o
tipo de produto que sai dela, isto é, as torradeiras. Do mesmo modo a torradeira não é a fábrica, mas o produto
feito por ela. Comparamos as classes às fabricas e os objetos aos produtos feitos por elas. Grosso modo,
podemos dizer que as classes não ocupam espaço na memória, por serem abstrações, equanto que, os objetos
ocupam espaço de memória por serem concretizações dessas abstrações.
...
Nas declarações acima, introduzimos algumas classes que permitem representar
polígonos. Porém, não instanciamos nenhuma das classes criando particulares
objetos a partir dessas classes. Por exemplo, a partir da classe quadrado, podemos
fazer objetos representando quadrados de diversos comprimentos laterais, ou
retângulos de diferentes dimensões:
Quadrado A, B, C;
Retângulo D;
A.lado = 1; // O quadrado A terá os lados de comprimento 1
B.lado = 2; // O quadrado B terá os lados de comprimento 2
C.lado = 7; // O quadrado C terá os lados de comprimento 7
D.base = 3; // O retangulo D terá base 3 e ...
D.alt = 4; // altura 4, e centrado na origem
D.cx = 0;
D.cy = 0;
As declarações acima são semelhantes às que vimos no capítulo anterior, com
excessão de que no lugar do nome que identifica o tipo de dado estamos usando o
nome de uma classe. Neste exemplo, as classes Quadrado eRetângulo foram
empregadas para declarar os objetos (ou variáveis) A, B, C e D.
Em certo sentido as classes complementam os tipos de dados nativos da linguagem
Java, com tipos de dados complexos criados pelo programador. Esse fato, aliado à
possibilidade de derivar classes, tornam as linguagens orientadas a objetos
extremamente producentes.
Chamando Métodos
Um método entra em ação no momento em que é chamado. Isto pode ocorrer
explicitamente ou implicitamente. A chamada explícita se dá por ordem do
programador através da execução de um comando ou expressão contendo o nome
do método. Em nosso programa AloPessoal fizemos uma chamada explícita do
método System.out.println para mostrar um texto na tela do computador. As
chamadas implícitas ocorrem quando o interpretador Java chama um método por sua
própria deliberação. A chamada do método main é um exemplo de chamada impícita.
O interpretador Java chama esse método para dar início à execução do programa.
Declarando Métodos
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,
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.
O par de parênteses adiante do nome do método introduz uma lista (vazia, neste caso) de argumentos.
A chamada de um método pode ser acrescida de parâmetros, os quais são associados aos seus
respectivos argumentos.
Um exemplo de métodos que retornam valores é o seguinte:
class Calculador {
int Soma(int a, int b) {
return a + b;
}
double Produto(double a, double b) {
return a * b;
}
}
O primeiro método, Soma, realiza a adição de de dois números inteiros fornecidos
pelos argumentos a e b, devolve a soma valor de retorno. O segundo método realiza
a multiplicação de dois números de ponto-flutuante a e b devolvendo seu produto.
A sintaxe completa para a declaração de um método é a seguinte:
[moderadores de acesso] [modificador] [tipo do valor de retorno] [nome] ([argumentos])
throws [lista de excessões]
{ [corpo]
}
onde os termos em itálico são opcionais (ou acessórios). Neste capítulo, vamos analisar
detalhadamente cada um dos termos [moderadores de acesso], [modificador], [tipo do valor de retorno],
e [argumentos]. Vamos, porém, adiar um pouco as explicações sobre [lista de excessões] até o capítulo
sobre excessões. Uma excessão à esta sintaxe é a que se aplica aos métodos especiais, chamados
construtores, que serão vistos adiante no capítulo sobre classes.
Na próximo aula, vamos abordar, moderadores de acesso, modificador do metodo e tipos de valor de
retorno...

FIM

Mais conteúdo relacionado

Mais procurados (17)

ESTRUTURA DE DADOS (JAVA) AULA 09
ESTRUTURA DE DADOS (JAVA) AULA 09ESTRUTURA DE DADOS (JAVA) AULA 09
ESTRUTURA DE DADOS (JAVA) AULA 09
 
09 programando em python - classes
 09   programando em python - classes 09   programando em python - classes
09 programando em python - classes
 
Java 07
Java 07Java 07
Java 07
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Java6
Java6Java6
Java6
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Algoritmos de busca
Algoritmos de buscaAlgoritmos de busca
Algoritmos de busca
 
Semanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantesSemanaupecaruaru2013 c++para iniciantes
Semanaupecaruaru2013 c++para iniciantes
 
Repetições e vetores
Repetições e vetoresRepetições e vetores
Repetições e vetores
 
Ling c
Ling cLing c
Ling c
 
Java3
Java3Java3
Java3
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Java11
Java11Java11
Java11
 
Java8
Java8Java8
Java8
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 

Destaque

Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9PeslPinguim
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3PeslPinguim
 
Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Manoel Campos da Silva Filho
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaMoises Omena
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresMoises Omena
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programaDenis Sobrenome
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em JavaEderson Lima
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java BasicoJoel Lobo
 

Destaque (19)

Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e HerançaJava - Aula 4 - Sobrecarga de construtores, UML e Herança
Java - Aula 4 - Sobrecarga de construtores, UML e Herança
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
Poo1   aula 2 - java - apresentação do netbeans e 1º programaPoo1   aula 2 - java - apresentação do netbeans e 1º programa
Poo1 aula 2 - java - apresentação do netbeans e 1º programa
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 

Semelhante a Java Classes, Objects and Methods

Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Professor Samuel Ribeiro
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetosCícero Quarto
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetosunifesptk
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsDenis L Presciliano
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
04 modelagem classes
04 modelagem classes04 modelagem classes
04 modelagem classesjosejunior89
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classesCarlos Melo
 

Semelhante a Java Classes, Objects and Methods (20)

Programando em python - Classes
Programando em python -  ClassesProgramando em python -  Classes
Programando em python - Classes
 
10 heranca
10   heranca10   heranca
10 heranca
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
 
Guia Rápido Java
Guia Rápido JavaGuia Rápido Java
Guia Rápido Java
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Java 14
Java 14Java 14
Java 14
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e Strings
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Aula5
Aula5Aula5
Aula5
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
04 modelagem classes
04 modelagem classes04 modelagem classes
04 modelagem classes
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classes
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 

Mais de PeslPinguim

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalPeslPinguim
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalPeslPinguim
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalPeslPinguim
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalPeslPinguim
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalPeslPinguim
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacaoPeslPinguim
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalPeslPinguim
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_PeslPinguim
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10PeslPinguim
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5PeslPinguim
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroPeslPinguim
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBPeslPinguim
 
Alarme Automatico - Eletrônica Aplicada - Aula 2
Alarme Automatico - Eletrônica Aplicada - Aula 2Alarme Automatico - Eletrônica Aplicada - Aula 2
Alarme Automatico - Eletrônica Aplicada - Aula 2PeslPinguim
 
Alarme Automatico - Eletrônica Aplicada - Aula 1
Alarme Automatico - Eletrônica Aplicada - Aula 1Alarme Automatico - Eletrônica Aplicada - Aula 1
Alarme Automatico - Eletrônica Aplicada - Aula 1PeslPinguim
 
Alarme Automatico - Eletrônica Aplicada - Aula 3
Alarme Automatico - Eletrônica Aplicada - Aula 3Alarme Automatico - Eletrônica Aplicada - Aula 3
Alarme Automatico - Eletrônica Aplicada - Aula 3PeslPinguim
 
Aula 04 - Templates e Operators
Aula 04 - Templates e OperatorsAula 04 - Templates e Operators
Aula 04 - Templates e OperatorsPeslPinguim
 
Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )PeslPinguim
 

Mais de PeslPinguim (20)

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão Digital
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão Digital
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão Digital
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão Digital
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão Digital
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacao
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão Digital
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoro
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
 
Alarme Automatico - Eletrônica Aplicada - Aula 2
Alarme Automatico - Eletrônica Aplicada - Aula 2Alarme Automatico - Eletrônica Aplicada - Aula 2
Alarme Automatico - Eletrônica Aplicada - Aula 2
 
Alarme Automatico - Eletrônica Aplicada - Aula 1
Alarme Automatico - Eletrônica Aplicada - Aula 1Alarme Automatico - Eletrônica Aplicada - Aula 1
Alarme Automatico - Eletrônica Aplicada - Aula 1
 
Alarme Automatico - Eletrônica Aplicada - Aula 3
Alarme Automatico - Eletrônica Aplicada - Aula 3Alarme Automatico - Eletrônica Aplicada - Aula 3
Alarme Automatico - Eletrônica Aplicada - Aula 3
 
Aula 04 - Templates e Operators
Aula 04 - Templates e OperatorsAula 04 - Templates e Operators
Aula 04 - Templates e Operators
 
Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )Aula 03 - Classes em C++ ( Parte 2 )
Aula 03 - Classes em C++ ( Parte 2 )
 

Java Classes, Objects and Methods

  • 1. PESL (Programa de Educação em Software Livre) Curso Básico de JAVA Aula 8 Roteiro da Aula: Classes Objetos, Chamando métodos e Declarando métodos.  
  • 2. Continuação... Agora, suponhamos que desejamos criar uma classe para guardar informações sobre um quadrado. Neste caso, não precisamos criar uma classe que dê as coordenadas do centro do quadrado assim como as suas dimensões. Basta fazer simplesmente: class Quadrado extends Polígono { int lado; // Comprimento de um lado do quadrado }. A classe quadrado declarada desse modo se diz uma classe derivada da classe Poligono, da qual herda os dados (e os métodos) nela contidos. Esta declaração é equivalente a class Quadrado { int cx, cy; // Coordenadas do centro do polígono int lado; // Comprimento de um lado do quadrado }
  • 3. Desejando fazer uma classe para representar um retângulo, bastaria fazer então class Retângulo extends Polígono { int base, alt; // Base e altura do retângulo }
  • 4. Objetos: Uma particular instância de uma classe é chamada objeto. Para entender a diferença entre classes e objetos, fazemos alusão à metáfora da fábrica de torradeiras. A fábrica de torradeiras não é uma torradeira, mas define o tipo de produto que sai dela, isto é, as torradeiras. Do mesmo modo a torradeira não é a fábrica, mas o produto feito por ela. Comparamos as classes às fabricas e os objetos aos produtos feitos por elas. Grosso modo, podemos dizer que as classes não ocupam espaço na memória, por serem abstrações, equanto que, os objetos ocupam espaço de memória por serem concretizações dessas abstrações.
  • 5. ... Nas declarações acima, introduzimos algumas classes que permitem representar polígonos. Porém, não instanciamos nenhuma das classes criando particulares objetos a partir dessas classes. Por exemplo, a partir da classe quadrado, podemos fazer objetos representando quadrados de diversos comprimentos laterais, ou retângulos de diferentes dimensões: Quadrado A, B, C; Retângulo D; A.lado = 1; // O quadrado A terá os lados de comprimento 1 B.lado = 2; // O quadrado B terá os lados de comprimento 2 C.lado = 7; // O quadrado C terá os lados de comprimento 7 D.base = 3; // O retangulo D terá base 3 e ... D.alt = 4; // altura 4, e centrado na origem
  • 6. D.cx = 0; D.cy = 0; As declarações acima são semelhantes às que vimos no capítulo anterior, com excessão de que no lugar do nome que identifica o tipo de dado estamos usando o nome de uma classe. Neste exemplo, as classes Quadrado eRetângulo foram empregadas para declarar os objetos (ou variáveis) A, B, C e D. Em certo sentido as classes complementam os tipos de dados nativos da linguagem Java, com tipos de dados complexos criados pelo programador. Esse fato, aliado à possibilidade de derivar classes, tornam as linguagens orientadas a objetos extremamente producentes.
  • 7. Chamando Métodos Um método entra em ação no momento em que é chamado. Isto pode ocorrer explicitamente ou implicitamente. A chamada explícita se dá por ordem do programador através da execução de um comando ou expressão contendo o nome do método. Em nosso programa AloPessoal fizemos uma chamada explícita do método System.out.println para mostrar um texto na tela do computador. As chamadas implícitas ocorrem quando o interpretador Java chama um método por sua própria deliberação. A chamada do método main é um exemplo de chamada impícita. O interpretador Java chama esse método para dar início à execução do programa.
  • 8. Declarando Métodos 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,
  • 9. 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. O par de parênteses adiante do nome do método introduz uma lista (vazia, neste caso) de argumentos. A chamada de um método pode ser acrescida de parâmetros, os quais são associados aos seus respectivos argumentos.
  • 10. Um exemplo de métodos que retornam valores é o seguinte: class Calculador { int Soma(int a, int b) { return a + b; } double Produto(double a, double b) { return a * b; } } O primeiro método, Soma, realiza a adição de de dois números inteiros fornecidos pelos argumentos a e b, devolve a soma valor de retorno. O segundo método realiza a multiplicação de dois números de ponto-flutuante a e b devolvendo seu produto.
  • 11. A sintaxe completa para a declaração de um método é a seguinte: [moderadores de acesso] [modificador] [tipo do valor de retorno] [nome] ([argumentos]) throws [lista de excessões] { [corpo] } onde os termos em itálico são opcionais (ou acessórios). Neste capítulo, vamos analisar detalhadamente cada um dos termos [moderadores de acesso], [modificador], [tipo do valor de retorno], e [argumentos]. Vamos, porém, adiar um pouco as explicações sobre [lista de excessões] até o capítulo sobre excessões. Uma excessão à esta sintaxe é a que se aplica aos métodos especiais, chamados construtores, que serão vistos adiante no capítulo sobre classes.
  • 12. Na próximo aula, vamos abordar, moderadores de acesso, modificador do metodo e tipos de valor de retorno... FIM