Buscar

Trabalho sobre Construtores Java - Linguagem de programação Orientada a Objetos

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 44 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 44 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 44 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

Linguagem de 
Programação 
Orientada a Objetos
Aula 03: Construtores
Roteiro
• Revisão
• Conceitos Básicos de OO
• Encapsulamento
• Construtores
• this
• import
• Referência: 
• Deitel, H. M. e Deitel, P. J. Java Como Programar. Prentice 
Hall. 8 ed. 2010.. Capítulo 3, 6 e 8.
O que é Encapsulamento?
•Em código:
• Veja que o atributo é privado e o método público
 Assim apenas quem conhece a assinatura
public void deposita (double valor)
poderá utilizar o método deposita
Por que o erro?
Escopo correto
Escopo da variável
Exercícios
• Faça um método do tipo saque no caderno e 
aponte todos os tópicos abaixo.
 Pra entregar agora 15 min
 Valendo visto.
Tipo do retorno
Cabeçalho do método
Modificador de acesso
Corpo do método
Onde ficam os parâmetros?
Onde ficam os argumentos?
O que vimos até aqui?
•Nas últimas aulas vimos diversos conceitos de
Orientação a Objetos
Classe, objetos, mensagens, encapsulamento
• Hoje finalizamos parte da parte conceitual da orientação
a objetos, para entrarmos em maiores detalhes sobre a
aplicação na linguagem Java
Construtores
Construtores
• Quando criamos um objeto seu espaço na
memória é alocado
Sintaxe do construtor
Criando um objeto com construtor
Ainda sobre construtores
• Quando não definimos um construtor para a classe, o
construtor default é executado
• O construtor default da classe Conta seria:
• A partir do momento em que você declara um construtor,
o construtor default não é mais fornecido
Ainda sobre construtores
• O construtor deve estar sempre na definição da Classe
 E pode haver dois construtores com o mesmo nome!
• Quando? E por que?
Ainda sobre construtores
• Um exemplo mais complexo de construtor:
public class Conta {
private double saldo;
private Funcionario funcionario;
Conta (Funcionario titular) {
this.funcionario = titular;
}
//gets e sets
}
public class Funcionario {
private String nome;
private String cpf;
private double salario;
Funcionario (String nome, String cpf, double salario)
{
this.nome = nome;
this.cpf = cpf;
this.salario = salario;
System.out.println("Um objeto foi criado!");
}
// gets e sets
}
A classe Conta tem 
um atributo do tipo 
Funcionario
Como funciona
• public class main {
• public static void main(String[] args) {
• Funcionario func = new Funcionario("00001", "Elyda", 100);
• Conta conta = new Conta(func);
• System.out.println(conta.getFunc().getNome()); 
• }}
Construtores
•E qual a necessidade desses construtores?
Obrigar o usuário de uma classe a definir valores de
início
Por exemplo, quando queremos abrir um arquivo é
necessário dizer seu nome
•E para destruir um objeto?
O Java não implementa destrutores
Para isso, o Garbage Collector é executado
automaticamente
Construtores
•Sempre que criamos um objeto o construtor da
classe é executado
•O construtor é o responsável por inicializar os
valores de um objeto que está sendo criado
Ele é um método sem retorno, que é chamado quando
da criação de um objeto
O uso do “this”
O “this”
• O this é utilizado para se referir ao objeto atual
• No exemplo, o this é utilizado para atribuir o valor
passado como parâmetro para o atributo (variável de
instância)
19
public class Funcionario {
private String nome;
private String cpf;
private double salario;
//construtor e gets e sets aqui
public void setNome(String nome) {
this.nome = nome;
}
O “this”: Um exemplo mais complexo
20
public class MyThisTest {
private int a;
public MyThisTest() {
this(42); // Construtor
}
public MyThisTest(int a) {
this.a = a; // atribui o valor do parametro a para o campo com o mesmo nome
}
public String toString() { // quando criamos um objeto esse método é chamado automaticamente
return "MyThisTest a=" + a; // refere-se ao campo a
}
public void Testando() {
int a = 1;
System.out.println(a); // refere-se a variável local a
System.out.println(this.a); // refere-se ao campo a
System.out.println(this); // refere-se ao objeto completo
}
}
Vamos fazer executar esse código?
Import
A Palavra-Chave import
•Para usar uma classe do mesmo pacote que eu possa
acessar basta fazer referência a ela
•No entanto, para acessar classes de outros pacotes é
necessário importá-las
•Ou chamá-la pelo seu nome completo
22
import java.util.Date;
...
private Date dataAdmissao;
private java.util.Date dataAdmissao;
private Funcionario funcionario;
Modificadores de 
acesso
Modificadores
• Os modificadores de acesso são utilizados para
controlar o acesso a atributos, classes, métodos e
construtores
• Veremos um pouco mais sobre os modificadores
public, private, protected, static e final
24
Modificadores
• Public
 Uma classe declarada como pública dá a outras classes,
de todos os pacotes, acesso aos seus membros que forem
públicos também
 Membros da classe (métodos e atributos) que se forem
declarados como públicos também são visíveis em todas
as classes de todos os pacotes
25
Modificadores
• Private: O membro da classe não pode ser acessado por
nenhuma outra classe, quando é declarado private
 Apenas sua classe pode acessá-lo
• Esse modificador não se aplica a classes, somente a seus
membros (métodos e atributos)
 Que devem ser acessados pelos getters e setters ou por meio de
métodos públicos
26
Modificadores
• Protected: Quando um membro da classe é declarado
assim, ele se torna acessível por classes do mesmo pacote
ou através de herança
 Os membros herdados não são acessíveis a outras classes fora do
pacote em que foram declarados
• Esse modificador pode ser utilizado em métodos e
atributos
27
Modificadores
• Default: A classe e/ou seus membros são acessíveis
somente por classes do mesmo pacote
• Em resumo:
28
Formalizações
A Linguagem Java
•Uma classe em Java: Sintaxe
30
public class Conta {
private double saldo;
private Date dataInicio;
public Conta (){
System.out.println("Conta criada");
}
public double getSaldo() {
return saldo;
}...
}
Modificador
Nome da Classe, que 
deve ser igual ao nome 
do arquivo
Construtores
Métodos
Lista de Atributos
A Linguagem Java
•Uma classe em Java (cont.)
 Declarando atributos
 Exemplos:
31
<modificadores> <tipo> <nome> [=<valor inicial>];
public int x;
static double calc = 45.76;
String nome = "Maria";
A Linguagem Java
•Uma classe em Java 
(cont.)
 Declarando atributos: Tipos de dados 
primitivos
32
A Linguagem Java
• Uma classe em Java (cont.)
 Declarando métodos
Exemplo:
33
<modificadores> <tipoDoRetorno> <nome> ( <parâmetros> )
{
<corpoDoMétodo>
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
A Linguagem Java
• Uma classe em Java (cont.)
 O método principal
34
public class OlaMundo{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Toda aplicação deve 
possuir o método main, 
que tem sempre essa 
estrutura
A Linguagem Java
•Uma classe em Java (cont.)
O método principal
Uma aplicação Java é um conjunto de classes
E necessariamente uma delas precisa ter um 
método main
35
A Linguagem Java
•Uma classe em Java(cont.)
Arquivo .java
•A ordem dos itens é importante
36
package beans;
import java.util.Date;
public class Conta {
}
Nome do pacote
Imports necessários
Declaração
Da Classe
A Linguagem Java
• Um arquivo Java pode conter declarações de 
várias classes
• Apenas uma das classes pode ser pública
• Caso haja uma classe pública, o nome do arquivo 
deve ser igual ao da classe• Caso não haja, o nome do arquivo é livre
• No entanto, é uma boa prática declarar apenas 
uma classe por arquivo e nomeá-lo com o nome 
da classe
37
A Linguagem Java
• Palavras reservadas
38
A Linguagem Java
• Os comentários podem ser:
39
//Comentário de Linha
/* Comentário de 
mais de uma linha */
/**
* Comentário para gerar JavaDoc
*/
A Linguagem Java
• Convenções de Nomes: Nomes de Classes
 Devem começar com uma letra maiúscula
 Caso o nome seja composto por mais de uma palavra a
primeira letra de cada palavra deve ser maiúscula
 De preferência, não deve conter caracteres não-ASCII
 Devem ter exatamente o mesmo nome o arquivo .java
 Geralmente é um substantivo que representa a classe
40
A Linguagem Java
• Convenções de Nomes: Nomes de Pacotes
 Devem ser escritos em minúsculo
 Podem usar caracteres não-ASCII
 Não devem iniciar com caracteres especiais ou números
 Caso o nome do pacote seja composto, a primeira letra
de cada palavra deve ser em maiúscula (a partir da
segunda palavra)
 O nome do pacote deve fazer referência total às funções
exercidas pelas classes dentro do pacote
41
A Linguagem Java
• Convenções de Nomes: Nomes de Atributos
 São escritos em letras minúsculas
 Os nomes de atributos podem começar com qualquer
letra, ou com os caracteres $ ou _
 Não podem começar com números
 Caso o nome do atributo seja composto, a primeira letra
de cada palavra deve ser em maiúscula (a partir da
segunda palavra)
42
A Linguagem Java
• Convenções de Nomes: Nomes de Atributos Finais ou 
Constantes
 Devem ser escritos em letras maiúsculas
 Underline é utilizado para separar nomes compostos
43
Bora terminar a Lista 01?

Continue navegando