SlideShare uma empresa Scribd logo
1 de 64
Orientação a Objetos
Linguagem de Programação II
Ciência da Computação
Introdução
• Em POO qualquer entidade tem características e
comportamentos
• Vantagens:
• Reutilização de código
• Confiabilidade
• Facilidade de manutenção e extensão
Introdução
• OBJETOS:
• pessoas,
• animais,
• plantas,
• carros,
• aviões,
• edifício,
• computadores,

• sinais de trânsito,
• fornos
de
microondas,
• telefones,
• casas,
• sistemas
de
refrigerção
à
água,
• etc.
Introdução
• Dois tipos de objetos
• Animados
• Inanimados;

• Todos os objetos tem atributos:
• Tamanho
• Forma
• Cor
• Peso
• etc
Introdução
• Todos os objetos tem comportamentos:
• uma bola rola,
• uma bola infla,
• uma bola murcha
• O bebê chora
• O bebê dorme
• O bebê engatinha
• O bebê anda
• etc
Introdução
• Diferentes objetos podem
• exibir comportamentos semelhantes
• ter atributos semelhantes

• Exemplo:
• Comparação entre bebês e adultos
• Comparação entre humanos e chimpanzés
• Portanto OO é semelhante àquilo que as pessoas
utilizam para descrever os objetos do mundo real
Introdução
• Classes: objetos que tem as mesmas características
• Exemplo: uma classe de veículos é composta por
carros, caminhões e patins.
• Herança: novas classes de objetos são derivadas de
uma principal, absorvendo características desta e
adicionando características únicas
Introdução
• Mensagens:
• Comunicação entre objetos.
• Humanos trocam mensagens entre si
• Os objetos fazem o mesmo.
• Exemplo: um objeto conta bancária pode receber
uma mensagem para reduzir seu saldo
Introdução
• Encapsulamento:
• A orientação a objetos empacotam atributos e
operações em objetos.
• As operações são os comportamentos dos
objetos.
• Exemplo: podemos dirigir um carro sem conhecer
os detalhes de como motores, transmissões, freios
e sistemas funcionam internamente, mas sabemos
para que serve o acelerador, o freio entre outros.
Introdução
• Em JAVA a unidade de programação é a CLASSE, a
partir da qual os objetos são instanciados (ou
criados)

• Métodos: implementam operações
semelhantes a funções na linguagem C
• Campos: implementam atributos

e

são
Introdução
• Classes: contém campos e conjunto de métodos
que manipulam os campos e fornecem serviços a
outras classes

• Podemos criar muitos objetos a partir de uma
mesma classe
• Associações: relacionamento entre classes
Introdução
• Reutilização de classes: o empacotamento permite
isto, diminuindo custos, tempo e esforço, ajudando
a construir sistemas mais confiáveis e eficientes.

• Classes existentes são confiáveis pois:
• Testes,
• Depuração,
• Ajustes de desempenho
Classes e Objetos
• Método:
• Realiza uma tarefa em um programa (classe)
• Descreve os mecanismos que realmente realizam
suas tarefas
• Oculta do usuário as tarefas complexas que ele
realiza
• Uma classe abriga um ou mais métodos
Classes e Objetos
• Exemplo: uma classe que representa uma conta
bancária poderia contar com um método para
depósitos, outro para saques e outro para obter o
saldo
• Antes de qualquer coisa, o programador deve
construir um objeto de uma classe antes de fazer
um programa realizar as tarefas descritas na
própria classe
Classes e Objetos
• Chamada de método:
• Quando mensagens são enviadas para um objeto
• Instrui o método do objeto a fazer a sua tarefa

• Um objeto tem atributos que são portados com o
objeto quando ele é utilizado em um programa
• Exemplo: cada objeto conta bancária sabe o saldo
da conta que ele representa, mas não sabe os
saldos de outras contas do banco
Classes e Objetos
• Atributos são especificados pelas variáveis de
instância da classe.
• EXEMPLO NO NETBEANS
Classes e Objetos
• public
• É uma palavra chave que é um modificador de
acesso
• Significa que o método, classe ou objeto está
diponível para o público, está acessível a todos
• Por fim, pode ser chamado de fora do corpo da
declaração de classe, por métodos ou outras
classes
Classes e Objetos
• Void:
• Palavra chave
• O método realiza uma tarefa mas não retorna
nenuma informação
• Uma classe que contém o método MAIN é um
aplicativo Java
• O MAIN é um método especial que é chamado
automaticamente pela JVM quando você executar
o aplicativo.
Classes e Objetos
• A maioria dos métodos não são chamados
automaticamente
• A classe do exemplo não é um aplicativo Java pois
não contém um método main.
• Ela é simplesmente uma classe.
Classes e Objetos
• Static: um método static é especial porque pode
ser chamado sem primeiro criar um objeto da
classe em que o método é declarado

• Não podemos chamar um método que pertence a
outra classe até criar um objeto dessa classe
Classes e Objetos
• Cada nova classe que criamos, torna-se um novo
tipo em Java que pode ser utilizado para declarar
variáveis e criar objetos

• New: cria um objeto da classe especificada à
direita da palavra chave
Classes e Objetos
• Representação gráfica de uma classe

LivroDeNotas
+ MostrarMensagem()

NomeDaClasse
Atributos
Métodos
Classes e Objetos
• Métodos podem exigir um ou mais parametros que
representam informações adicionais necessárias
para realizar a tarefa

• EXEMPLO NO NETBEANS
• Ao declarar um método você deve especificar se o
método requer dados para realizar a sua tarefa, ou
não.
Classes e Objetos
• Portanto, o método pode ter uma lista de
parâmetros. Pode ter nenhum, apenas um ou
vários.

• Todo parametro deve especificar um tipo e um
identificador
• Cuidado com o número de parametros e os seus
respectivos tipos
Classes e Objetos
• Representação gráfica do segundo exemplo

LivroDeNotas2

+ MostrarMensagem(NomeDoCurso : String)
Classes e Objetos
• Porque preciso importar a classe SCANNER e não
importar a classe String ou System?
• Porque o pacote java.lang é importado
implicitamente em todo o programa java
Classes e Objetos
• Classes no mesmo pacote (mesma pasta) são
importadas implicitamente nos arquivos de códigofonte de outras classes no mesmo pacote

• Uma declaração import não será exigida quando
uma classe em um pacote utilizar outra domesmo
pacote
Classes e Objetos
• Variáveis locais:
• São as variáveis declaradas no corpo de um
método particular
• Só podem ser utilizadas nesse método.
• Quando um método termina, os valores de suas
variáveis locais são perdidos
Classes e Objetos
• Um objeto tem atributos que são portados com o
objeto quando ele é utilizado em um programa
• Os atributos existem antes de um método ser
chamado em um objeto e depois do método
completar a execução
Classes e Objetos
• Os atributos são representados como variáveis em
uma declaração de classe
• Variáveis são chamadas de CAMPOS
• São declaradas dentro de uma declaração de
classe, mas fora dos corpos das declarações de
método da classe
Classes e Objetos
• Variavel de instancia:
• É o campo que representa o atributo
• Ocorre quando cada objeto de uma classe
mantém sua própria cópia de um atributo
• Cada objeto (ou instancia) da classe tem uma
instância separada da variável na memória

• EXEMPLO NO NETBEANS
Classes e Objetos
• Private:
• Palavra chave
• Modificador de acesso
• Só são acessíveis a métodos da classe em que
são declarados
• Regra geral:
• Variáveis de instância devem ser declaradas
como private
• Métodos devem ser declarados como public
Classes e Objetos
• Procure declarar todas as variáveis no inicio do seu
código, isto deixa o programa legível
• Ocultamento de dados: ocorre quando um
programa cria um objeto de uma classe,
encapsulando seus atributos, que só poderão ser
acessados por métodos da classe do objeto

• Retorno de método: quando um método tem um
tipo, ao completar sua tarefa, o método retorna,
ao método chamador, um resultado
Classes e Objetos
• Todo campo tem um valor inicial padrão;
• Esse valor é fornecido pelo JAVA quando o
programador não especificar o valor inicial;
• O valor padrão de um tipo de dado STRING é o
NULL;
Classes e Objetos
• Recomenda-se inicializar STRINGS com “”, isto
é, uma String vazia
• Cliente de um objeto: é qualquer classe que
chama os métodos do objeto
Classes e Objetos
• As classes costumam fornecer métodos PUBLIC
para permitir a clientes da classe CONFIGURAR ou
OBTER valores de variáveis de instância PRIVATE

• Métodos SET e GET: métodos para configurar e
obter valores
• Nomenclatura padrão do JAVA
Classes e Objetos
• Representação gráfica do terceiro exemplo

LivroDeNotas3
- NomeDoCurso : String
+ setNomeDoCurso( NomeDoCurso : String)
+ getNomeDoCurso( ) : String
+ MostrarMensagem()
Classes e Objetos
• Tipos primitivos em
Java:
•
•
•
•
•
•
•
•

Boolean
Byte
Char
Short
Int
Long
Float
Double

• Todas
são
inicializadas com o
valor ZERO, menos
BOOLEAN que é
inicializada
com
FALSE ou TRUE
• Tipos NÃO primitivos
em Java:
• São os tipo por
referência
• Classes é um tipo não
primitivo
Classes e Objetos
• Variáveis de tipos por referência: são usadas para
armazenas as localizações de objetos na memória
do computador;

• Essas variáveis referenciam objetos no programa;
• Os objetos referenciados podem todos conter
muitas variáveis de instância e métodos;
Classes e Objetos
• São inicializadas por padrão com o valor NULL;
• NULL = referencia a nada

• Uma referencia a um objeto é requerida para
invocar os métodos do objeto
Classes e Objetos
• CONSTRUTOR
• É utilizado para inicializar um objeto de uma classe
quando o objeto for criado
• Java requer uma chamada de construtor para todo
objeto que é criado
Classes e Objetos
• NEW: chama o construtor da classe para realizar a
incialização
• O compilador JAVA fornece um construtor-padrão
sem parametros em qualquer classe que não inclua
explictamente um construtor.
Classes e Objetos
• EXEMPLO NO NETBEANS
• Um construtor deve ter o mesmo nome da sua
classe
• Uma classe pode ter vários métodos construtores
• Construtores NÃO podem retornar valores
• Se o programador especificar um construtor para a
classe, o JAVA não criará um construtor-padrão
Classes e Objetos
• Representação gráfica do exemplo 4

LivroDeNotas4
- NomeDoCurso : String
<< construtor >> LivroDeNotas4()
<< construtor >> LivroDeNotas4( Nome : String)
+ setNomeDoCurso( Nome : String)
+ getNomeDoCurso( ) : String
+ MostrarMensagem()
Classes e Objetos
• Números de ponto flutuante
• Variáveis double podem armazem números com
maior magnitude, mais detalhes e mais precisos
que as variáveis float
• Por padrão, Java trata todos os número de ponto
flutuante como DOUBLE e não como FLOAT
Classes e Objetos
• Números de ponto flutuante
• A maioria dos programadores JAVA usam DOUBLE
e não FLOAT
• O valor armazenado sempre será apenas uma
aproximação do valor exato
Classes e Objetos
• EXEMPLO NO NETBEANS
• Representação gráfica do exemplo 5:
Conta
- saldo : Double
<< construtor >> Conta( saldoInicial : Double)
+ Credito(conta : Double)
+ getSaldo() : Double
Métodos
• Técnica “Dividir pra conquistar”: melhor forma de
desenvolver um programa grande é construí-lo a
partir de pequenas e simples partes, ou módulos.
• Métodos, classes e pacotes: são os três tipos de
módulos em JAVA.
• Não reivente a roda! Utilize as APIs do Java e
códigos-fontes já existentes na comunidade, para
diminuir o tempo de desenvolvimento do seu
projeto.
Métodos
• API: Java Application Programming Interface. Fazem
parte do JDK 7. Coleções de classes pré-definidas:
• Cálculos matemáticos
• Manipulações de Strings
• Manipulações de Caracteres
• Operações de entrada/saída
• Operações de banco de dados
• Operações de rede
• Processamento de arquivos
• Verificação de erros
• Etc.
Métodos
• Métodos são como funções ou procedimentos
• Permitem que o programador modularize um
programa, separando suas tarefas em unidades
• Tornam os programas mais gerenciáveis

• Permite reutilização de código
Métodos
• Um pequeno método que realiza uma única tarefa
é mais fácil de testar e depurar do que um método
maior que realiza muitas tarefas

• Limite o seu método à realização de uma única
tarefa
Métodos
• Dê um nome apropriado ao seu método, que
expresse o que ele realmente faz
• Um método é invocado por uma chamada de
método
• Quando o método chamado completa sua
tarefa, ele retorna um resultado ou retorna o
controle ao chamador
Métodos
• Métodos static ou métodos de classe: realiza uma
tarefa que não depende de nenhum objeto, se
aplica à classe em que é declarado como um todo

• Não é necessário criar um objeto da classe antes
de usar os métodos contidos nela
• Exemplo da classe MATH, que contem as funções
matemáticas pré-definidas:
• Math.sqrt(numero);
Métodos
MÉTODO

DESCRIÇÃO

abs(x)

Valor absoluto de x

ceil(x)

Arredonda x para o maior inteiro não menor que x

cos(x)

Cosseno trigonométrico de x (x em radianos)

exp(x)

Método exponencial

floor(x)

Arredonda x para o maior inteiro não maior que x

log(x)

Logaritmo natural de x (base e)

max(x, y)

Maior valor de x e y

min(x, y)

Menor valor de x e y

pow(x, y)

x elevado à potência de y (isto é, xy)

sin(x)

Seno trigonométrico de x (x em radianos)

sqrt(x)

Raiz quadrada de x

tan(x)

Tangente trigonométrica de x (x em radianos)
Métodos
• Variáveis de classe:
• Campos em que cada objeto de uma classe não tem
uma instância separada do campo

• Campos static: permite que eles sejam acessados via
nome da classe e um ponto
• Quando objetos de uma classe que contém campos
static são criados, todos os objetos dessa classe
compartilham uma cópia dos campos static
Métodos
• Exemplo no netbeans
• Um método com muitos parametros pode estar
realizando tarefas demais
• Considere dividir o método em métodos menores
que realizam tarefas separadas
• Um tipo de dado é requerido para cada parametro
na lista de parametros de um metodo!
Métodos
• Três formas de chamar um método. Exemplos:
• MaiorValor(n1, n2, n3);  o próprio nome do
método
• MaiorValor.determineMaximo();  uma variável
que contém uma referência a um objeto
• Math.sqrt();  o nome da classe
Métodos
• APIs Java
• Classes pré-definidas agrupadas em categorias

• Declarações import especificam as classes exigidas
para compilar um programa
Métodos
• Permite que os programadores utilizem o nome
simples da classe em vez do nome completamente
qualificado da classe

• Não preciso usar java.util.Scanner no código, basta
usar Scanner, desde que seja usado import
java.util.Scanner; no inicio da classe
Métodos
Pacote

Descrição

java.applet

Criação de applets (web)

java.awt

Java abstract window toolkit package. Manipulam GUIs

java.awt.event

Tratamento de eventos de GUI

java.io

Input/output

java.lang

LANG = LANGUAGE. Classes e interfaces java diversas

java.net

NET = NETWORKING. Classes para redes

java.text

TEXT . Manipula números, datas, caracteres e strings

java.util

UTIL = UTILITIES. Data, hora, números aleatórios,
armazenamento e processamento de dados, divisão de
strings.

java.swing

Componentes GUI swing

java.swing.event

Tratamento de evento swing
Métodos
• Sobrecarga de métodos:
• Métodos com o mesmo nome podem ser
declarados na mesma classe, contanto que tenham
diferentes conjuntos de parâmetros
• É usada para criar vários métodos com o mesmo
nome que realizam as mesmas tarefas ou tarefas
semelhantes mas sobre tipos diferentes de
números ou números diferentes de argumentos
Métodos
• Exemplo no netbeans
•O
compilador
distingue
os
sobrecarregados pelas suas assinaturas

métodos

• Distingue pelo nome do método, número do
método, tipos dos parametros e ordem dos
parametros
• Void metodo1(int a, float b) e void metodo1(float
a, int b) são diferentes!!!!
Métodos
• Declarações de métodos sobrecarregados com
assinaturas idênticas causam erros mesmo que os
tipos de retorno sejam diferentes

• O tipo de retorno então não diferenciam os
métodos!
Exercícios

Mais conteúdo relacionado

Mais procurados (20)

Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
v
vv
v
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
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
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
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
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
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
 
Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2Slide Semana2 Rodrigo2
Slide Semana2 Rodrigo2
 
Java 07
Java 07Java 07
Java 07
 
Slide Share s2 Rodd
Slide Share s2 RoddSlide Share s2 Rodd
Slide Share s2 Rodd
 
Aula05
Aula05Aula05
Aula05
 
Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Herança
HerançaHerança
Herança
 

Semelhante a OO Introdução

Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1Filipo Mór
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfssuser6e99cd
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetosWesley R. Bezerra
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetosRafael Pinheiro
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetosMateus Parente
 
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Professor Samuel Ribeiro
 

Semelhante a OO Introdução (20)

Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdf
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Java Básico :: Orientação a objetos
Java Básico :: Orientação a objetosJava Básico :: Orientação a objetos
Java Básico :: Orientação a objetos
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Java7
Java7Java7
Java7
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Classes e objetos
Classes e objetosClasses e objetos
Classes e objetos
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Aula 3 introducao a orientação a objetos
Aula 3   introducao a orientação a objetosAula 3   introducao a orientação a objetos
Aula 3 introducao a orientação a objetos
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Clean code em C#
Clean code em C#Clean code em C#
Clean code em C#
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetos
 
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
10 - JS OOP.pptx
10 - JS OOP.pptx10 - JS OOP.pptx
10 - JS OOP.pptx
 
Cap10
Cap10Cap10
Cap10
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

OO Introdução

  • 1. Orientação a Objetos Linguagem de Programação II Ciência da Computação
  • 2. Introdução • Em POO qualquer entidade tem características e comportamentos • Vantagens: • Reutilização de código • Confiabilidade • Facilidade de manutenção e extensão
  • 3. Introdução • OBJETOS: • pessoas, • animais, • plantas, • carros, • aviões, • edifício, • computadores, • sinais de trânsito, • fornos de microondas, • telefones, • casas, • sistemas de refrigerção à água, • etc.
  • 4. Introdução • Dois tipos de objetos • Animados • Inanimados; • Todos os objetos tem atributos: • Tamanho • Forma • Cor • Peso • etc
  • 5. Introdução • Todos os objetos tem comportamentos: • uma bola rola, • uma bola infla, • uma bola murcha • O bebê chora • O bebê dorme • O bebê engatinha • O bebê anda • etc
  • 6. Introdução • Diferentes objetos podem • exibir comportamentos semelhantes • ter atributos semelhantes • Exemplo: • Comparação entre bebês e adultos • Comparação entre humanos e chimpanzés • Portanto OO é semelhante àquilo que as pessoas utilizam para descrever os objetos do mundo real
  • 7. Introdução • Classes: objetos que tem as mesmas características • Exemplo: uma classe de veículos é composta por carros, caminhões e patins. • Herança: novas classes de objetos são derivadas de uma principal, absorvendo características desta e adicionando características únicas
  • 8. Introdução • Mensagens: • Comunicação entre objetos. • Humanos trocam mensagens entre si • Os objetos fazem o mesmo. • Exemplo: um objeto conta bancária pode receber uma mensagem para reduzir seu saldo
  • 9. Introdução • Encapsulamento: • A orientação a objetos empacotam atributos e operações em objetos. • As operações são os comportamentos dos objetos. • Exemplo: podemos dirigir um carro sem conhecer os detalhes de como motores, transmissões, freios e sistemas funcionam internamente, mas sabemos para que serve o acelerador, o freio entre outros.
  • 10. Introdução • Em JAVA a unidade de programação é a CLASSE, a partir da qual os objetos são instanciados (ou criados) • Métodos: implementam operações semelhantes a funções na linguagem C • Campos: implementam atributos e são
  • 11. Introdução • Classes: contém campos e conjunto de métodos que manipulam os campos e fornecem serviços a outras classes • Podemos criar muitos objetos a partir de uma mesma classe • Associações: relacionamento entre classes
  • 12. Introdução • Reutilização de classes: o empacotamento permite isto, diminuindo custos, tempo e esforço, ajudando a construir sistemas mais confiáveis e eficientes. • Classes existentes são confiáveis pois: • Testes, • Depuração, • Ajustes de desempenho
  • 13. Classes e Objetos • Método: • Realiza uma tarefa em um programa (classe) • Descreve os mecanismos que realmente realizam suas tarefas • Oculta do usuário as tarefas complexas que ele realiza • Uma classe abriga um ou mais métodos
  • 14. Classes e Objetos • Exemplo: uma classe que representa uma conta bancária poderia contar com um método para depósitos, outro para saques e outro para obter o saldo • Antes de qualquer coisa, o programador deve construir um objeto de uma classe antes de fazer um programa realizar as tarefas descritas na própria classe
  • 15. Classes e Objetos • Chamada de método: • Quando mensagens são enviadas para um objeto • Instrui o método do objeto a fazer a sua tarefa • Um objeto tem atributos que são portados com o objeto quando ele é utilizado em um programa • Exemplo: cada objeto conta bancária sabe o saldo da conta que ele representa, mas não sabe os saldos de outras contas do banco
  • 16. Classes e Objetos • Atributos são especificados pelas variáveis de instância da classe. • EXEMPLO NO NETBEANS
  • 17. Classes e Objetos • public • É uma palavra chave que é um modificador de acesso • Significa que o método, classe ou objeto está diponível para o público, está acessível a todos • Por fim, pode ser chamado de fora do corpo da declaração de classe, por métodos ou outras classes
  • 18. Classes e Objetos • Void: • Palavra chave • O método realiza uma tarefa mas não retorna nenuma informação • Uma classe que contém o método MAIN é um aplicativo Java • O MAIN é um método especial que é chamado automaticamente pela JVM quando você executar o aplicativo.
  • 19. Classes e Objetos • A maioria dos métodos não são chamados automaticamente • A classe do exemplo não é um aplicativo Java pois não contém um método main. • Ela é simplesmente uma classe.
  • 20. Classes e Objetos • Static: um método static é especial porque pode ser chamado sem primeiro criar um objeto da classe em que o método é declarado • Não podemos chamar um método que pertence a outra classe até criar um objeto dessa classe
  • 21. Classes e Objetos • Cada nova classe que criamos, torna-se um novo tipo em Java que pode ser utilizado para declarar variáveis e criar objetos • New: cria um objeto da classe especificada à direita da palavra chave
  • 22. Classes e Objetos • Representação gráfica de uma classe LivroDeNotas + MostrarMensagem() NomeDaClasse Atributos Métodos
  • 23. Classes e Objetos • Métodos podem exigir um ou mais parametros que representam informações adicionais necessárias para realizar a tarefa • EXEMPLO NO NETBEANS • Ao declarar um método você deve especificar se o método requer dados para realizar a sua tarefa, ou não.
  • 24. Classes e Objetos • Portanto, o método pode ter uma lista de parâmetros. Pode ter nenhum, apenas um ou vários. • Todo parametro deve especificar um tipo e um identificador • Cuidado com o número de parametros e os seus respectivos tipos
  • 25. Classes e Objetos • Representação gráfica do segundo exemplo LivroDeNotas2 + MostrarMensagem(NomeDoCurso : String)
  • 26. Classes e Objetos • Porque preciso importar a classe SCANNER e não importar a classe String ou System? • Porque o pacote java.lang é importado implicitamente em todo o programa java
  • 27. Classes e Objetos • Classes no mesmo pacote (mesma pasta) são importadas implicitamente nos arquivos de códigofonte de outras classes no mesmo pacote • Uma declaração import não será exigida quando uma classe em um pacote utilizar outra domesmo pacote
  • 28. Classes e Objetos • Variáveis locais: • São as variáveis declaradas no corpo de um método particular • Só podem ser utilizadas nesse método. • Quando um método termina, os valores de suas variáveis locais são perdidos
  • 29. Classes e Objetos • Um objeto tem atributos que são portados com o objeto quando ele é utilizado em um programa • Os atributos existem antes de um método ser chamado em um objeto e depois do método completar a execução
  • 30. Classes e Objetos • Os atributos são representados como variáveis em uma declaração de classe • Variáveis são chamadas de CAMPOS • São declaradas dentro de uma declaração de classe, mas fora dos corpos das declarações de método da classe
  • 31. Classes e Objetos • Variavel de instancia: • É o campo que representa o atributo • Ocorre quando cada objeto de uma classe mantém sua própria cópia de um atributo • Cada objeto (ou instancia) da classe tem uma instância separada da variável na memória • EXEMPLO NO NETBEANS
  • 32. Classes e Objetos • Private: • Palavra chave • Modificador de acesso • Só são acessíveis a métodos da classe em que são declarados • Regra geral: • Variáveis de instância devem ser declaradas como private • Métodos devem ser declarados como public
  • 33. Classes e Objetos • Procure declarar todas as variáveis no inicio do seu código, isto deixa o programa legível • Ocultamento de dados: ocorre quando um programa cria um objeto de uma classe, encapsulando seus atributos, que só poderão ser acessados por métodos da classe do objeto • Retorno de método: quando um método tem um tipo, ao completar sua tarefa, o método retorna, ao método chamador, um resultado
  • 34. Classes e Objetos • Todo campo tem um valor inicial padrão; • Esse valor é fornecido pelo JAVA quando o programador não especificar o valor inicial; • O valor padrão de um tipo de dado STRING é o NULL;
  • 35. Classes e Objetos • Recomenda-se inicializar STRINGS com “”, isto é, uma String vazia • Cliente de um objeto: é qualquer classe que chama os métodos do objeto
  • 36. Classes e Objetos • As classes costumam fornecer métodos PUBLIC para permitir a clientes da classe CONFIGURAR ou OBTER valores de variáveis de instância PRIVATE • Métodos SET e GET: métodos para configurar e obter valores • Nomenclatura padrão do JAVA
  • 37. Classes e Objetos • Representação gráfica do terceiro exemplo LivroDeNotas3 - NomeDoCurso : String + setNomeDoCurso( NomeDoCurso : String) + getNomeDoCurso( ) : String + MostrarMensagem()
  • 38. Classes e Objetos • Tipos primitivos em Java: • • • • • • • • Boolean Byte Char Short Int Long Float Double • Todas são inicializadas com o valor ZERO, menos BOOLEAN que é inicializada com FALSE ou TRUE • Tipos NÃO primitivos em Java: • São os tipo por referência • Classes é um tipo não primitivo
  • 39. Classes e Objetos • Variáveis de tipos por referência: são usadas para armazenas as localizações de objetos na memória do computador; • Essas variáveis referenciam objetos no programa; • Os objetos referenciados podem todos conter muitas variáveis de instância e métodos;
  • 40. Classes e Objetos • São inicializadas por padrão com o valor NULL; • NULL = referencia a nada • Uma referencia a um objeto é requerida para invocar os métodos do objeto
  • 41. Classes e Objetos • CONSTRUTOR • É utilizado para inicializar um objeto de uma classe quando o objeto for criado • Java requer uma chamada de construtor para todo objeto que é criado
  • 42. Classes e Objetos • NEW: chama o construtor da classe para realizar a incialização • O compilador JAVA fornece um construtor-padrão sem parametros em qualquer classe que não inclua explictamente um construtor.
  • 43. Classes e Objetos • EXEMPLO NO NETBEANS • Um construtor deve ter o mesmo nome da sua classe • Uma classe pode ter vários métodos construtores • Construtores NÃO podem retornar valores • Se o programador especificar um construtor para a classe, o JAVA não criará um construtor-padrão
  • 44. Classes e Objetos • Representação gráfica do exemplo 4 LivroDeNotas4 - NomeDoCurso : String << construtor >> LivroDeNotas4() << construtor >> LivroDeNotas4( Nome : String) + setNomeDoCurso( Nome : String) + getNomeDoCurso( ) : String + MostrarMensagem()
  • 45. Classes e Objetos • Números de ponto flutuante • Variáveis double podem armazem números com maior magnitude, mais detalhes e mais precisos que as variáveis float • Por padrão, Java trata todos os número de ponto flutuante como DOUBLE e não como FLOAT
  • 46. Classes e Objetos • Números de ponto flutuante • A maioria dos programadores JAVA usam DOUBLE e não FLOAT • O valor armazenado sempre será apenas uma aproximação do valor exato
  • 47. Classes e Objetos • EXEMPLO NO NETBEANS • Representação gráfica do exemplo 5: Conta - saldo : Double << construtor >> Conta( saldoInicial : Double) + Credito(conta : Double) + getSaldo() : Double
  • 48. Métodos • Técnica “Dividir pra conquistar”: melhor forma de desenvolver um programa grande é construí-lo a partir de pequenas e simples partes, ou módulos. • Métodos, classes e pacotes: são os três tipos de módulos em JAVA. • Não reivente a roda! Utilize as APIs do Java e códigos-fontes já existentes na comunidade, para diminuir o tempo de desenvolvimento do seu projeto.
  • 49. Métodos • API: Java Application Programming Interface. Fazem parte do JDK 7. Coleções de classes pré-definidas: • Cálculos matemáticos • Manipulações de Strings • Manipulações de Caracteres • Operações de entrada/saída • Operações de banco de dados • Operações de rede • Processamento de arquivos • Verificação de erros • Etc.
  • 50. Métodos • Métodos são como funções ou procedimentos • Permitem que o programador modularize um programa, separando suas tarefas em unidades • Tornam os programas mais gerenciáveis • Permite reutilização de código
  • 51. Métodos • Um pequeno método que realiza uma única tarefa é mais fácil de testar e depurar do que um método maior que realiza muitas tarefas • Limite o seu método à realização de uma única tarefa
  • 52. Métodos • Dê um nome apropriado ao seu método, que expresse o que ele realmente faz • Um método é invocado por uma chamada de método • Quando o método chamado completa sua tarefa, ele retorna um resultado ou retorna o controle ao chamador
  • 53. Métodos • Métodos static ou métodos de classe: realiza uma tarefa que não depende de nenhum objeto, se aplica à classe em que é declarado como um todo • Não é necessário criar um objeto da classe antes de usar os métodos contidos nela • Exemplo da classe MATH, que contem as funções matemáticas pré-definidas: • Math.sqrt(numero);
  • 54. Métodos MÉTODO DESCRIÇÃO abs(x) Valor absoluto de x ceil(x) Arredonda x para o maior inteiro não menor que x cos(x) Cosseno trigonométrico de x (x em radianos) exp(x) Método exponencial floor(x) Arredonda x para o maior inteiro não maior que x log(x) Logaritmo natural de x (base e) max(x, y) Maior valor de x e y min(x, y) Menor valor de x e y pow(x, y) x elevado à potência de y (isto é, xy) sin(x) Seno trigonométrico de x (x em radianos) sqrt(x) Raiz quadrada de x tan(x) Tangente trigonométrica de x (x em radianos)
  • 55. Métodos • Variáveis de classe: • Campos em que cada objeto de uma classe não tem uma instância separada do campo • Campos static: permite que eles sejam acessados via nome da classe e um ponto • Quando objetos de uma classe que contém campos static são criados, todos os objetos dessa classe compartilham uma cópia dos campos static
  • 56. Métodos • Exemplo no netbeans • Um método com muitos parametros pode estar realizando tarefas demais • Considere dividir o método em métodos menores que realizam tarefas separadas • Um tipo de dado é requerido para cada parametro na lista de parametros de um metodo!
  • 57. Métodos • Três formas de chamar um método. Exemplos: • MaiorValor(n1, n2, n3);  o próprio nome do método • MaiorValor.determineMaximo();  uma variável que contém uma referência a um objeto • Math.sqrt();  o nome da classe
  • 58. Métodos • APIs Java • Classes pré-definidas agrupadas em categorias • Declarações import especificam as classes exigidas para compilar um programa
  • 59. Métodos • Permite que os programadores utilizem o nome simples da classe em vez do nome completamente qualificado da classe • Não preciso usar java.util.Scanner no código, basta usar Scanner, desde que seja usado import java.util.Scanner; no inicio da classe
  • 60. Métodos Pacote Descrição java.applet Criação de applets (web) java.awt Java abstract window toolkit package. Manipulam GUIs java.awt.event Tratamento de eventos de GUI java.io Input/output java.lang LANG = LANGUAGE. Classes e interfaces java diversas java.net NET = NETWORKING. Classes para redes java.text TEXT . Manipula números, datas, caracteres e strings java.util UTIL = UTILITIES. Data, hora, números aleatórios, armazenamento e processamento de dados, divisão de strings. java.swing Componentes GUI swing java.swing.event Tratamento de evento swing
  • 61. Métodos • Sobrecarga de métodos: • Métodos com o mesmo nome podem ser declarados na mesma classe, contanto que tenham diferentes conjuntos de parâmetros • É usada para criar vários métodos com o mesmo nome que realizam as mesmas tarefas ou tarefas semelhantes mas sobre tipos diferentes de números ou números diferentes de argumentos
  • 62. Métodos • Exemplo no netbeans •O compilador distingue os sobrecarregados pelas suas assinaturas métodos • Distingue pelo nome do método, número do método, tipos dos parametros e ordem dos parametros • Void metodo1(int a, float b) e void metodo1(float a, int b) são diferentes!!!!
  • 63. Métodos • Declarações de métodos sobrecarregados com assinaturas idênticas causam erros mesmo que os tipos de retorno sejam diferentes • O tipo de retorno então não diferenciam os métodos!