Buscar

03-Classe_objeto_Principal_private_public

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Thiago Rodrigues POO 1
Programação Orientada à Objetos
Fatores de Qualidade em Software
● Correção, Robustez, Eficiência, Extensibilidade, Reusabilidade,
Portabilidade, Integridade, ...
Solução:
Modularidade
● Possibilita:
– Extensibilidade.
– Reusabilidade.
● MÓDULO é um componente de software compilado 
separadamente.
– Orientação por objetos.
Thiago Rodrigues POO 2
Conceitos de POO
Classe:
– Implementação de um Tipo Abstrato de Dados 
(T.A.D.)
– T.A.D. = Estrutura de Dados + Operações
– Adoção/Utilização de Mecanismos para :
● Encapsulamento
● Polimorfismo
● Herança
Forma geral:
<espec de acesso> class <nome>
{
<atributos e métodos>
}
public class JTeste{
int dado;
void set_dado(int x){
dado = x;
}
int get_dado(){
return dado;
}
}
Thiago Rodrigues POO 3
Atributos são os dados contidos em cada classe, podem ser 
vistos como as “variáveis” da classe;
Métodos são os subprogramas utilizados para manipular os 
atributos da classe;
class Conta {
double salario;
double saldo;
void saca(double quantidade) {
double novoSaldo = this.saldo - quantidade;
this.saldo = novoSaldo;
}
void deposita(double quantidade) {
this.saldo += quantidade;
}
}
Thiago Rodrigues POO 4
• A cláusula public não é obrigatória, mas é essencial para
modilariadade e reusabilidade;
• Um arquivo .java pode conter várias classes, entretanto somente uma 
única classe pode possuir a cláusula public;
• A classe public é quem vai dar o nome do arquivo;
class JDado{ ... }
public class JMain {
public static void main(String[] args) {... }
}
Objeto:
• Uma classe pode ser vista como um “tipo de dado” (TAD);
• Para se manipular um tipo de dado qualquer é necessário uma
variável;
• Um objeto pode ser visto como uma “variável”, utilizado para
manipular os atributos e métodos de uma classe;
Thiago Rodrigues POO 5
Forma geral da declaração de objetos
<classe> <objeto>;
JTeste obj;
Modelo Referencial:
• Java utiliza o modelo referencial, isto é, objetos são armazenados
como apontadores;
• É necessária uma operação explícita de criação ou alocação do
objeto em memória (“Instancialização”);
• A instancialização é realizada por um método especial chamado
construtor;
• Em Java todo construtor possui o mesmo nome da classe;
<objeto> = new <construtor>();
obj = new JTeste();
Thiago Rodrigues POO 6
Programa-Exemplo
class JPonto{
int x, y;
void SetX(int i){
x = i; }
void SetY(int i){
y = i; }
int GetX(){
return x; }
int GetY(){
return y; } 
}
public class JMain {
public static void main(String[] args) {
JPonto P1,P2;
P1 = new JPonto();
P1.x = 10; P1.y = 15;
//ou P1.SetX(10); P1.SetY(15);
P2 = P1;
//Atribuição do endereço de P1 a P2
System.out.println(P2.GetX());
System.out.println(P2.GetY());
}
}
P2
BA326
FF012
P1
10
15
BA326
BA326
DF501
Thiago Rodrigues POO 7
Exercício:
Crie uma classe chamada JAluno com os seguintes atributos:
• Matricula: Inteiro;
• Nome: String;
• Idade: inteiro;
• Sexo: caracter; 
• Método para imprimir os dados de cada atributo;
Crie um programa principal para atribuir valores aos atributos e 
imprimi-los; 
Thiago Rodrigues POO 8
Thiago Rodrigues POO 9
Controle de Acesso em Java
• public - permite acesso a partir de qualquer classe
• private - permite acesso apenas na própria classe
Obs: quando nenhum modificador de acesso é oferecido, o método e/ou a
variável são definidas como tendo acesso de pacote. Métodos e Atributos
são “vistos” por outras classes no mesmo pacote (arquivo);
class JPonto{
private int x, y;
public void SetX(int i){
x = i; }
public void SetY(int i){
y = i; }
public int GetX(){
return x; }
public int GetY(){
return y; } 
}
public class JMain {
public static void main
(String [] args){
JPonto obj;
obj = new JPonto();
obj.SetX(10);
obj.SetY(15);
obj.x = 30; //ERRO
}
}
Thiago Rodrigues POO 10
Criando e Importando Pacotes
• A cláusula package é utilizada para especificar que sua classe será um
pacote, podendo ser reutilizada por outras classes.
• É necessário que a classe seja public para que possa ser reutilizada por
outras classes;
• O nome do pacote colocado junto com a cláusula package especifica o
caminho no diretório onde o arquivo .class será criado.
package classes;
public class Jteste(){
public double Sqr(double x){
return x * x;
}
}
classes
Jteste.java
Thiago Rodrigues POO 11
• A reutilização de outras classes deve ser especificada pela cláusula
import seguida do nome do pacote;
import classes.Jteste;
public class JMain(){
public static void main(String args[]){
Jteste obj = new Jteste();
double y = obj.Sqr(5);
}
}
Thiago Rodrigues POO 12
Entrada de dados - Classe Scanner
• Java possui diversas formas de entrada de dados via teclado, uma
delas é utilizando a classe Scanner;
• É necessário improtar a classe Scanner, criar e instancializar um objeto
da classe e utilizar os métodos para fazer a leitura;
• Os mais comuns são:
– next()
– nextLine()
– nextBoolean()
– nextByte()
– nextInt()
– nextLong()
– nextShort()
– nextLong()
– nextDouble()
– nextFloat()
Thiago Rodrigues POO 13
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//Cria um Scanner para entrada de dados a partir da
//janela de comando
Scanner in = new Scanner(System.in);
String nome;
int idade;
float salario;
System.out.print("Digite o nome: ");
nome = in.next(); //lê uma String para a variável nome
System.out.print("Digite a idade: ");
idade = in.nextInt(); //lê um inteiro para a variável idade
System.out.print("Digite o salário: ");
salario = in.nextFloat(); //lê um float para a variável salário
System.out.println("Os dados informados foram:" + nome + " - "
+ idade + " - " + salario + ".");
}
}
Thiago Rodrigues POO 14
Public class Programa1{
public static void main(String[] args){
System.out.println("Hello, world!");
}
}
Programa Principal
public : indica que o método é público. Se o método main não for público, ao 
tentar executar o programa, será exibida a mensagem de erro Main 
method not public. 
static: indica que o método main existe e pode ser utilizado mesmo se 
nenhum objeto da classe tenha sido instanciado. 
void: não retornará valor algum.
String[] args: define o parâmetro que pode ser passado para o programa 
principal.

Outros materiais