Enviar pesquisa
Carregar
POO - 08 - Prática de Encapsulamento
•
1 gostou
•
1,871 visualizações
Ludimila Monjardim Casagrande
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 8
Baixar agora
Baixar para ler offline
Recomendados
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Filipo Mór
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
Aula 1 - Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
Mahuan Capeletto Abdala
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
Daniel Brandão
Java: Manipulação de Arquivos
Java: Manipulação de Arquivos
Arthur Emanuel
Recomendados
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Filipo Mór
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
Aula 1 - Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
Mahuan Capeletto Abdala
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
Daniel Brandão
Java: Manipulação de Arquivos
Java: Manipulação de Arquivos
Arthur Emanuel
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Fabio Moura Pereira
Apresentação Linguagem C
Apresentação Linguagem C
Ricardo Liyushiro Chikasawa
Linguagem Dart (Google)
Linguagem Dart (Google)
Prof. Luciano Borges
Aula de SQL - Básico
Aula de SQL - Básico
Airton Zanon
JAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
Albert Bitencourte de Lemos
Banco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
Rangel Javier
Excel Avançado - Aulas
Excel Avançado - Aulas
Gustavo Sousa
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
thomasdacosta
Teclas de Atalho
Teclas de Atalho
Fabrício Lima
Lista de exercícios em portugol
Lista de exercícios em portugol
Gabriel Faustino
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
Arthur Emanuel
Apostila de Fundamentos Java
Apostila de Fundamentos Java
Marcio Marinho
Aula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
Linguagem C clecioamerico
Linguagem C clecioamerico
Clécio Américo de Lima
Business Intelligence
Business Intelligence
Future Press, E-Press, Presentations,
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
Marcello Thiry
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
Luiz Augusto Macêdo Morais
Introdução a python
Introdução a python
Gemilson George
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
Pop encapsulação
Pop encapsulação
Juciê Vasconcelos
Farmacotécnica
Farmacotécnica
Julia Martins Ulhoa
Mais conteúdo relacionado
Mais procurados
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Fabio Moura Pereira
Apresentação Linguagem C
Apresentação Linguagem C
Ricardo Liyushiro Chikasawa
Linguagem Dart (Google)
Linguagem Dart (Google)
Prof. Luciano Borges
Aula de SQL - Básico
Aula de SQL - Básico
Airton Zanon
JAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
Albert Bitencourte de Lemos
Banco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
Rangel Javier
Excel Avançado - Aulas
Excel Avançado - Aulas
Gustavo Sousa
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
thomasdacosta
Teclas de Atalho
Teclas de Atalho
Fabrício Lima
Lista de exercícios em portugol
Lista de exercícios em portugol
Gabriel Faustino
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
Arthur Emanuel
Apostila de Fundamentos Java
Apostila de Fundamentos Java
Marcio Marinho
Aula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
Linguagem C clecioamerico
Linguagem C clecioamerico
Clécio Américo de Lima
Business Intelligence
Business Intelligence
Future Press, E-Press, Presentations,
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
Marcello Thiry
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
Luiz Augusto Macêdo Morais
Introdução a python
Introdução a python
Gemilson George
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
Mais procurados
(20)
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
Apresentação Linguagem C
Apresentação Linguagem C
Linguagem Dart (Google)
Linguagem Dart (Google)
Aula de SQL - Básico
Aula de SQL - Básico
JAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
Banco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
Excel Avançado - Aulas
Excel Avançado - Aulas
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
Teclas de Atalho
Teclas de Atalho
Lista de exercícios em portugol
Lista de exercícios em portugol
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
Apostila de Fundamentos Java
Apostila de Fundamentos Java
Aula 09 - introducao oo
Aula 09 - introducao oo
Linguagem C clecioamerico
Linguagem C clecioamerico
Business Intelligence
Business Intelligence
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
Introdução a python
Introdução a python
Programação Orientada a Objetos
Programação Orientada a Objetos
Destaque
Pop encapsulação
Pop encapsulação
Juciê Vasconcelos
Farmacotécnica
Farmacotécnica
Julia Martins Ulhoa
POO - 06 - Encapsulamento
POO - 06 - Encapsulamento
Ludimila Monjardim Casagrande
Encapsulamento em oo
Encapsulamento em oo
Marconi Rodrigues
JAVA - Herança
JAVA - Herança
Elaine Cecília Gatto
POO Herança
POO Herança
Paulo Henrique Martins da Silva
Cálculos i e ii
Cálculos i e ii
Ana Laura Sanches
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Ludimila Monjardim Casagrande
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
Felipe J. R. Vieira
36854375 apostila-pratica-farmacotecnica
36854375 apostila-pratica-farmacotecnica
Marcia Cristina
98230944 farmacotecnica-apostila
98230944 farmacotecnica-apostila
KEYTIANE JVA
Apostila Farmacotécnica II - Prática 2016
Apostila Farmacotécnica II - Prática 2016
Herbert Cristian de Souza
Apostila-calculos-1-pdf
Apostila-calculos-1-pdf
Fernanda Camargo
Destaque
(13)
Pop encapsulação
Pop encapsulação
Farmacotécnica
Farmacotécnica
POO - 06 - Encapsulamento
POO - 06 - Encapsulamento
Encapsulamento em oo
Encapsulamento em oo
JAVA - Herança
JAVA - Herança
POO Herança
POO Herança
Cálculos i e ii
Cálculos i e ii
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
36854375 apostila-pratica-farmacotecnica
36854375 apostila-pratica-farmacotecnica
98230944 farmacotecnica-apostila
98230944 farmacotecnica-apostila
Apostila Farmacotécnica II - Prática 2016
Apostila Farmacotécnica II - Prática 2016
Apostila-calculos-1-pdf
Apostila-calculos-1-pdf
Mais de Ludimila Monjardim Casagrande
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
Ludimila Monjardim Casagrande
POO - 23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
Ludimila Monjardim Casagrande
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
Ludimila Monjardim Casagrande
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
Ludimila Monjardim Casagrande
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
POO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
Ludimila Monjardim Casagrande
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
Ludimila Monjardim Casagrande
POO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
Ludimila Monjardim Casagrande
POO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
POO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
POO - 12 - A Classe Object
POO - 12 - A Classe Object
Ludimila Monjardim Casagrande
POO - 11 - Prática de Herança
POO - 11 - Prática de Herança
Ludimila Monjardim Casagrande
POO - 10 - Herança
POO - 10 - Herança
Ludimila Monjardim Casagrande
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
Ludimila Monjardim Casagrande
POO - 07 - Operadores do Java
POO - 07 - Operadores do Java
Ludimila Monjardim Casagrande
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
Ludimila Monjardim Casagrande
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
Ludimila Monjardim Casagrande
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
Ludimila Monjardim Casagrande
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
Ludimila Monjardim Casagrande
Mais de Ludimila Monjardim Casagrande
(20)
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
POO - 23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
POO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 17 - Interfaces
POO - 17 - Interfaces
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
POO - 14 - Vetores
POO - 14 - Vetores
POO - 13 - Arrays em Java
POO - 13 - Arrays em Java
POO - 12 - A Classe Object
POO - 12 - A Classe Object
POO - 11 - Prática de Herança
POO - 11 - Prática de Herança
POO - 10 - Herança
POO - 10 - Herança
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
POO - 07 - Operadores do Java
POO - 07 - Operadores do Java
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
POO - 08 - Prática de Encapsulamento
1.
Programação Orientada a
Objetos Prática de Implementação Encapsulamento e Modificadores de Acesso Ludimila Monjardim Casagrande 2012
2.
Exercício
public class Data { public int dia; public int mes; Atributos declarados como public int ano; públicos public Data () { } public Data (int dia, int mes, int ano) { Falha nos construtores! this.dia = dia; Ambos permitem a criação de this.mes = mes; datas inválidas. this.ano = ano; } public String toString() { String data = dia + "/" + mes + "/" + ano; return data; } } Aula Prática ©2012 Ludimila Monjardim Casagrande 2
3.
Exercício
public class Principal { public static void main (String[] args) { Data d = new Data(); d.dia = 40; Como os atributos são públicos, eles d.mes = 40; podem ser acessados e alterados d.ano = -40; diretamente em outra classe System.out.println(d); } } Resultado: 40/40/-40 Não é uma data válida! Aula Prática ©2012 Ludimila Monjardim Casagrande 3
4.
Exercício
public class Data { private int dia; private int mes; private int ano; public void setDia (int dia) { if(dia >= 1 && dia <= 31) { this.dia = dia; public Data () { } this.dia = 1; } this.mes = 1; this.ano = 1800; public void setMes (int mes) { } if(mes >= 1 && mes <= 12) { public Data (int d, int m, int a) { this.mes = mes; this(); } if((d >= 1 && d <= 31) && } (m >= 1 && m <= 12) && public void setAno (int ano) { (a >= 1800 && a <= 2100)) { if(ano >= 1800 && ano <= 2100) { this.dia = d; this.ano = ano; this.mes = m; } this.ano = a; } } … } } … Aula Prática ©2012 Ludimila Monjardim Casagrande 4
5.
Exercício
public class Principal { public static void main (String[] args) { Data d = new Data(); d.setDia(40); d.setMes(40); d.setAno(-40); System.out.println(d); } } Resultado: 1/1/1800 Tentativas de alterações inválidas não são aceitas. Aula Prática ©2012 Ludimila Monjardim Casagrande 5
6.
Solução Alternativa
public class Data { private int dia = 1; Definição de private int mes = 1; valores default public void setDia (int dia) { private int ano = 1800; if(dia >= 1 && dia <= 31) { this.dia = dia; public Data () { } } } public Data (int d, int m, int a) { public void setMes (int mes) { if((d >= 1 && d <= 31) && if(mes >= 1 && mes <= 12) { (m >= 1 && m <= 12) && this.mes = mes; } (a >= 1800 && a <= 2100)) { } this.dia = d; this.mes = m; public void setAno (int ano) { this.ano = a; if(ano >= 1800 && ano <= 2100) { } this.ano = ano; } } … } … } Aula Prática ©2012 Ludimila Monjardim Casagrande 6
7.
Exercício
Implemente as classes Hora e Data (cada uma em um arquivo separado, porém no mesmo projeto). Crie duas pastas, chamadas hora e data, ambas na raiz (src) e coloque as respectivas classes nas pastas. Declare as packages das classes corretamente. Implemente uma classe Principal com o método main e salve-a na raiz do projeto. Na classe Principal crie e altere objetos das classes Hora e Data, explorando o uso dos vários construtores disponíveis. A cada alteração do objeto, imprima-o na tela e observe os resultados. Aula Prática ©2012 Ludimila Monjardim Casagrande 7
8.
Atenção
Ao fazer seu exercício, explore o uso das packages criando novas packages, movendo as classes de lugar e observando os efeitos provocados. Explore também o uso dos diferentes modificadores de acesso nas classes Hora e Data e observe os efeitos colaterais na classe Principal. Não espere a professora pedir, aprimore você mesmo o seu estudo. Aula Prática ©2012 Ludimila Monjardim Casagrande 8
Baixar agora