SlideShare uma empresa Scribd logo
Programação I
Aula 1
Prof. Gilberto Irajá Müller
Última atualização 2/3/2009
Classe e Objeto
• Classe
• denominação para um conjunto de objetos
• onde os objetos se “enquadram”
• uma unidade de organização para sistemas de software
• abrange atributos e operações
• programas orientados a objetos são organizados por meio de
classes [de objetos]
• Objeto
• qualquer “coisa” do mundo real
• uma entidade física ou abstrata que faça sentido num contexto
analisado
• uma instância de uma classe
• se caracteriza pelos atributos que possui e operações que pode
realizar
Classe e Objeto
• Representação gráfica de uma classe pela UML (Unified
Modeling Language)
Nome da Classe
Atributos
Métodos
Membros de uma classe
Classe e Objeto
• Sintaxe de uma classe em java
modificadores class nome da classe {
atributos
métodos
}
Classe e Objeto
• Atributo
• Representam os dados que cada objeto da classe irá guardar. É
a característica do objeto (conhecimento)
• Métodos
• São funções ou ações que um objeto pode executar sobre os
seus atributos ou para propósitos gerais (comportamento)
Classe e Objeto
• Identificador (nome para os atributos/métodos/classes)
• É composto por qualquer quantidade de letras, dígitos e os
sinais _ e $, sendo que o primeiro deve ser uma letra ou um dos
dois sinais (_ e $).
• Java é case-sensitive, portanto, Aluno é diferente de aluno.
• Cuide com palavras reservadas (class, private, void, String, ...)
• Lembrem-se:
• Na maioria dos casos, para o atributo, teremos um método
“getter” (retorna a informação) e um método “setter” (atribui
informação). Ex: getNome(), setNome(String nome)
• Procurem colocar sempre o atributo e o método em minúsculo
(o java é case-sensitive)
• Para atributos/métodos com nome composto, a primeira palavra
em minúsculo e, para as demais, a primeira letra em maiúsculo:
• numeroContrato, dataNascimento, ...
Classe e Objeto
Pessoa
nome
altura
peso
getNome()
setNome()
getAltura()
setAltura()
getPeso()
setPeso()
calculaIMC()
getIMC()
Em java teremos:
Classe
class Pessoa {
nome;
altura;
peso;
getNome() {}
setNome() {}
getAltura() {}
setAltura() {}
getPeso() {}
setPeso() {}
getIMC() {}
calculaIMC() {}
}
Em java ocorrerá erro, pois
as instruções estão incompletas!
Classe e Objeto
• Visibilidade
• As classes não vivem em isolamento. É importante determinar o nível de
“visibilidade” dos membros em relação às demais classes
• Private (-)
• Membro está “visível” apenas na própria classe
• Na dúvida, utilize sempre “private”
• Normalmente é utilizado em “atributos”
• Public (+)
• Indica que o membro é acessível a partir de qualquer outra classe
• Normalmente é utilizado em “métodos”
• Protected (# ou um desenho de uma chave)
• O membro está “visível” para as sub-classes (veremos adiante)
• Package/Default (~)
• O membro está “visível” para as classes do mesmo pacote (Programação II)
• Todo membro de uma classe é sempre acessível dentro da própria classe.
Classe e Objeto
Pessoa
+nome
- altura
- peso
+ getNome()
+ setNome()
+ getAltura()
+ setAltura()
+ getPeso()
+ setPeso()
- calculaIMC()
+ getIMC()
Em java teremos:
Classe
public class Pessoa {
public nome;
private altura;
private peso;
public getNome() {}
public setNome() {}
public getAltura() {}
public setAltura() {}
public getPeso() {}
public setPeso() {}
private calculaIMC() {}
public getIMC() {}
}
Em java ocorrerá erro, pois
as instruções estão incompletas!
Classe terá visibilidade
Classe e Objeto
• Tipos de dados
• Em java temos os tipos de dados que permitem definir QUAL TIPO DE
INFORMAÇÃO um determinado atributo terá (ou um método retornará):
• int (números inteiros)
• double (números com casas decimais)
• String (texto ou nomes)
• Existem outros tipos de dados que diferenciam-se em relação ao potencial de
armazenamento
• long, short, byte, float, entre outros.
• Métodos que não retornam informação (normalmente são os métodos “setters”)
utilizam a palavra reservada void, que diz ao java: NÃO RETORNE
INFORMAÇÃO
• Void não é um tipo de dado!
Classe e Objeto
Pessoa
+nome: String
-altura: double
-peso: double
+ getNome(): String
+ setNome(): void
+ getAltura(): double
+ setAltura(): void
+ getPeso(): double
+ setPeso(): void
- calculaIMC(): double
+ getIMC(): double
Em java teremos:
Classe
public class Pessoa {
public String nome;
private double altura;
private double peso;
public String getNome() {}
public void setNome() {}
public double getAltura() {}
public void setAltura() {}
public double getPeso() {}
public void setPeso() {}
private double calculaIMC() {}
public double getIMC() {}
}
A estrutura de uma classe em java
está definida!
Precisaremos implementar os métodos!
Classe e Objeto
• Declaração de variáveis em JAVA
• Sintaxe:
• tipo nome; ou
• tipo nome1, nome2, ..., nomeN;
• Exemplos:
• int i;
• String nome, endereco;
• Pessoa p1; (note aqui que estamos definindo uma variável chamada
“p1” que é da classe Pessoa)
Classe e Objeto
• Atribuições de variáveis em JAVA
• Sintaxe:
• Nome da variavel = informação;
• Exemplos:
• i = 3;
• endereco = “Avenida Unisinos, 950”;
• Podemos também definir e atribuir variáveis:
• int i = 3;
• String endereco = “Avenida Unisinos, 950”;
Classe e Objeto
• Criando Objetos em java
• Declaramos a variável com o tipo da classe que objeto corresponderá
• Criamos o objeto (INSTANCIAMOS) utilizando a palavra reservada
new
• Exemplo
Pessoa p1; (declara a variável do tipo Pessoa que é a nossa classe)
p1 = new Pessoa(); (Aloca memória do computador para o novo objeto,
ou seja, estamos INSTANCIANDO. Neste momento, a variável p1 terá
um objeto do tipo Pessoa)
Podemos definir e atribuir dessa forma (dois em um):
Pessoa p1 = new Pessoa();
Classe e Objeto
• Diagrama de Objetos
nome: “João da Silva”
altura: 1.80
peso: 80.0
Pessoa1
nome: “Paulo Tricolor”
altura: 1.75
peso: 70.0
Pessoa2
p1 p2
Pessoa p1 = new Pessoa()
p1.setNome(“João da Silva”);
p1.setAltura(1.80);
p1.setPeso(80.0);
Pessoa p2 = new Pessoa()
p2.setNome(“Paulo Tricolor”);
p2.setAltura(1.75);
p2.setPeso(70.0);
EM JAVA TEREMOS:
Classe e Objeto
• Referências bibliográficas
• http://inf.unisinos.br/~anibal
• http://www.google.com.br
• HORSTMANN, C. Big Java. Bookman, 2004.
• DEITEL, H. M.; DEITEL, Paul J. Java: como programar. 6. ed.
São Paulo: Pearson, 2006.

Mais conteúdo relacionado

Semelhante a AULA 1 - Classes e Objetos.ppt

3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
Thiago Oliveira
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
GersonZavala2
 
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
Mario Jorge Pereira
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
Denis L Presciliano
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
Denis L Presciliano
 
Poo
PooPoo
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
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
Willian Magalhães
 
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
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Java
danrleywillian1
 
Curso de PHP - Objetos
Curso de PHP - ObjetosCurso de PHP - Objetos
Curso de PHP - Objetos
Fabio Moura Pereira
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
Juliano Weber
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca
 
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
Rafael Pinheiro
 
Java 07
Java 07Java 07
Java 07
samuelthiago
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
Wesley Lemos
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
PAULO Moreira
 
POO - Aula 003
POO - Aula 003POO - Aula 003
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
César Augusto Pessôa
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
Saulo Arruda
 

Semelhante a AULA 1 - Classes e Objetos.ppt (20)

3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
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
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Poo
PooPoo
Poo
 
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...
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
 
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)
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Java
 
Curso de PHP - Objetos
Curso de PHP - ObjetosCurso de PHP - Objetos
Curso de PHP - Objetos
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
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
 
Java 07
Java 07Java 07
Java 07
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 

Mais de JoberthSilva

AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.ppt
JoberthSilva
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
JoberthSilva
 
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
JoberthSilva
 
A função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcadosA função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcados
JoberthSilva
 
A CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.pptA CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.ppt
JoberthSilva
 
Apocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptxApocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptx
JoberthSilva
 
PHP.ppt
PHP.pptPHP.ppt
PHP.ppt
JoberthSilva
 
Aula_1.pptx
Aula_1.pptxAula_1.pptx
Aula_1.pptx
JoberthSilva
 
5 - Resistores.ppt
5 - Resistores.ppt5 - Resistores.ppt
5 - Resistores.ppt
JoberthSilva
 
Problemas de Carater.pptx
Problemas de Carater.pptxProblemas de Carater.pptx
Problemas de Carater.pptx
JoberthSilva
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
JoberthSilva
 
capacitores1.ppt
capacitores1.pptcapacitores1.ppt
capacitores1.ppt
JoberthSilva
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.ppt
JoberthSilva
 
Materiais Semicondutores
Materiais SemicondutoresMateriais Semicondutores
Materiais Semicondutores
JoberthSilva
 
Algoritmos - Modificado.ppt
Algoritmos - Modificado.pptAlgoritmos - Modificado.ppt
Algoritmos - Modificado.ppt
JoberthSilva
 
Fibra Óptica
Fibra ÓpticaFibra Óptica
Fibra Óptica
JoberthSilva
 
actividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdfactividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdf
JoberthSilva
 
50524(1).ppt
50524(1).ppt50524(1).ppt
50524(1).ppt
JoberthSilva
 
Rede sem fio 2.ppt
Rede sem fio 2.pptRede sem fio 2.ppt
Rede sem fio 2.ppt
JoberthSilva
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.pdf
JoberthSilva
 

Mais de JoberthSilva (20)

AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.ppt
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
8 - ATIVIDADE DE OPERADORES TERNÁRIOS E IF.pdf
 
A função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcadosA função scanf na programção para dispositivos embarcados
A função scanf na programção para dispositivos embarcados
 
A CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.pptA CRIAÇÃO DO UNIVERSO.ppt
A CRIAÇÃO DO UNIVERSO.ppt
 
Apocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptxApocalipse - Cartas as Igrejas.pptx
Apocalipse - Cartas as Igrejas.pptx
 
PHP.ppt
PHP.pptPHP.ppt
PHP.ppt
 
Aula_1.pptx
Aula_1.pptxAula_1.pptx
Aula_1.pptx
 
5 - Resistores.ppt
5 - Resistores.ppt5 - Resistores.ppt
5 - Resistores.ppt
 
Problemas de Carater.pptx
Problemas de Carater.pptxProblemas de Carater.pptx
Problemas de Carater.pptx
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
 
capacitores1.ppt
capacitores1.pptcapacitores1.ppt
capacitores1.ppt
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.ppt
 
Materiais Semicondutores
Materiais SemicondutoresMateriais Semicondutores
Materiais Semicondutores
 
Algoritmos - Modificado.ppt
Algoritmos - Modificado.pptAlgoritmos - Modificado.ppt
Algoritmos - Modificado.ppt
 
Fibra Óptica
Fibra ÓpticaFibra Óptica
Fibra Óptica
 
actividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdfactividade1-140709100755-phpapp02.pdf
actividade1-140709100755-phpapp02.pdf
 
50524(1).ppt
50524(1).ppt50524(1).ppt
50524(1).ppt
 
Rede sem fio 2.ppt
Rede sem fio 2.pptRede sem fio 2.ppt
Rede sem fio 2.ppt
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.pdf
 

Último

karl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vidakarl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vida
KleginaldoPaz2
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
SILVIAREGINANAZARECA
 
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdfUFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
Manuais Formação
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
eaiprofpolly
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxPP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
Manuais Formação
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
PatriciaZanoli
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
edivirgesribeiro1
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
Eró Cunha
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
CarinaSantos916505
 

Último (20)

karl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vidakarl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vida
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
 
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
1_10_06_2024_Criança e Cultura Escrita, Ana Maria de Oliveira Galvão.pdf
 
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdfUFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxPP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptx
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
 
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptxAula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
Aula história , caracteristicas e esteriótipos em relação a DANÇA DE SALAO.pptx
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
Reino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptxReino-Vegetal plantas e demais conceitos .pptx
Reino-Vegetal plantas e demais conceitos .pptx
 

AULA 1 - Classes e Objetos.ppt

  • 1. Programação I Aula 1 Prof. Gilberto Irajá Müller Última atualização 2/3/2009
  • 2. Classe e Objeto • Classe • denominação para um conjunto de objetos • onde os objetos se “enquadram” • uma unidade de organização para sistemas de software • abrange atributos e operações • programas orientados a objetos são organizados por meio de classes [de objetos] • Objeto • qualquer “coisa” do mundo real • uma entidade física ou abstrata que faça sentido num contexto analisado • uma instância de uma classe • se caracteriza pelos atributos que possui e operações que pode realizar
  • 3. Classe e Objeto • Representação gráfica de uma classe pela UML (Unified Modeling Language) Nome da Classe Atributos Métodos Membros de uma classe
  • 4. Classe e Objeto • Sintaxe de uma classe em java modificadores class nome da classe { atributos métodos }
  • 5. Classe e Objeto • Atributo • Representam os dados que cada objeto da classe irá guardar. É a característica do objeto (conhecimento) • Métodos • São funções ou ações que um objeto pode executar sobre os seus atributos ou para propósitos gerais (comportamento)
  • 6. Classe e Objeto • Identificador (nome para os atributos/métodos/classes) • É composto por qualquer quantidade de letras, dígitos e os sinais _ e $, sendo que o primeiro deve ser uma letra ou um dos dois sinais (_ e $). • Java é case-sensitive, portanto, Aluno é diferente de aluno. • Cuide com palavras reservadas (class, private, void, String, ...) • Lembrem-se: • Na maioria dos casos, para o atributo, teremos um método “getter” (retorna a informação) e um método “setter” (atribui informação). Ex: getNome(), setNome(String nome) • Procurem colocar sempre o atributo e o método em minúsculo (o java é case-sensitive) • Para atributos/métodos com nome composto, a primeira palavra em minúsculo e, para as demais, a primeira letra em maiúsculo: • numeroContrato, dataNascimento, ...
  • 7. Classe e Objeto Pessoa nome altura peso getNome() setNome() getAltura() setAltura() getPeso() setPeso() calculaIMC() getIMC() Em java teremos: Classe class Pessoa { nome; altura; peso; getNome() {} setNome() {} getAltura() {} setAltura() {} getPeso() {} setPeso() {} getIMC() {} calculaIMC() {} } Em java ocorrerá erro, pois as instruções estão incompletas!
  • 8. Classe e Objeto • Visibilidade • As classes não vivem em isolamento. É importante determinar o nível de “visibilidade” dos membros em relação às demais classes • Private (-) • Membro está “visível” apenas na própria classe • Na dúvida, utilize sempre “private” • Normalmente é utilizado em “atributos” • Public (+) • Indica que o membro é acessível a partir de qualquer outra classe • Normalmente é utilizado em “métodos” • Protected (# ou um desenho de uma chave) • O membro está “visível” para as sub-classes (veremos adiante) • Package/Default (~) • O membro está “visível” para as classes do mesmo pacote (Programação II) • Todo membro de uma classe é sempre acessível dentro da própria classe.
  • 9. Classe e Objeto Pessoa +nome - altura - peso + getNome() + setNome() + getAltura() + setAltura() + getPeso() + setPeso() - calculaIMC() + getIMC() Em java teremos: Classe public class Pessoa { public nome; private altura; private peso; public getNome() {} public setNome() {} public getAltura() {} public setAltura() {} public getPeso() {} public setPeso() {} private calculaIMC() {} public getIMC() {} } Em java ocorrerá erro, pois as instruções estão incompletas! Classe terá visibilidade
  • 10. Classe e Objeto • Tipos de dados • Em java temos os tipos de dados que permitem definir QUAL TIPO DE INFORMAÇÃO um determinado atributo terá (ou um método retornará): • int (números inteiros) • double (números com casas decimais) • String (texto ou nomes) • Existem outros tipos de dados que diferenciam-se em relação ao potencial de armazenamento • long, short, byte, float, entre outros. • Métodos que não retornam informação (normalmente são os métodos “setters”) utilizam a palavra reservada void, que diz ao java: NÃO RETORNE INFORMAÇÃO • Void não é um tipo de dado!
  • 11. Classe e Objeto Pessoa +nome: String -altura: double -peso: double + getNome(): String + setNome(): void + getAltura(): double + setAltura(): void + getPeso(): double + setPeso(): void - calculaIMC(): double + getIMC(): double Em java teremos: Classe public class Pessoa { public String nome; private double altura; private double peso; public String getNome() {} public void setNome() {} public double getAltura() {} public void setAltura() {} public double getPeso() {} public void setPeso() {} private double calculaIMC() {} public double getIMC() {} } A estrutura de uma classe em java está definida! Precisaremos implementar os métodos!
  • 12. Classe e Objeto • Declaração de variáveis em JAVA • Sintaxe: • tipo nome; ou • tipo nome1, nome2, ..., nomeN; • Exemplos: • int i; • String nome, endereco; • Pessoa p1; (note aqui que estamos definindo uma variável chamada “p1” que é da classe Pessoa)
  • 13. Classe e Objeto • Atribuições de variáveis em JAVA • Sintaxe: • Nome da variavel = informação; • Exemplos: • i = 3; • endereco = “Avenida Unisinos, 950”; • Podemos também definir e atribuir variáveis: • int i = 3; • String endereco = “Avenida Unisinos, 950”;
  • 14. Classe e Objeto • Criando Objetos em java • Declaramos a variável com o tipo da classe que objeto corresponderá • Criamos o objeto (INSTANCIAMOS) utilizando a palavra reservada new • Exemplo Pessoa p1; (declara a variável do tipo Pessoa que é a nossa classe) p1 = new Pessoa(); (Aloca memória do computador para o novo objeto, ou seja, estamos INSTANCIANDO. Neste momento, a variável p1 terá um objeto do tipo Pessoa) Podemos definir e atribuir dessa forma (dois em um): Pessoa p1 = new Pessoa();
  • 15. Classe e Objeto • Diagrama de Objetos nome: “João da Silva” altura: 1.80 peso: 80.0 Pessoa1 nome: “Paulo Tricolor” altura: 1.75 peso: 70.0 Pessoa2 p1 p2 Pessoa p1 = new Pessoa() p1.setNome(“João da Silva”); p1.setAltura(1.80); p1.setPeso(80.0); Pessoa p2 = new Pessoa() p2.setNome(“Paulo Tricolor”); p2.setAltura(1.75); p2.setPeso(70.0); EM JAVA TEREMOS:
  • 16. Classe e Objeto • Referências bibliográficas • http://inf.unisinos.br/~anibal • http://www.google.com.br • HORSTMANN, C. Big Java. Bookman, 2004. • DEITEL, H. M.; DEITEL, Paul J. Java: como programar. 6. ed. São Paulo: Pearson, 2006.