Enviar pesquisa
Carregar
POO e encapsulamento
•
1 gostou
•
1,868 visualizações
Título melhorado com IA
Ludimila Monjardim Casagrande
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 8
Baixar agora
Baixar para ler offline
Recomendados
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Ludimila Monjardim Casagrande
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
Ludimila Monjardim Casagrande
POO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
Felipe J. R. Vieira
Aula de Introdução - JAVA
Aula de Introdução - JAVA
Moises Omena
POO - 10 - Herança
POO - 10 - Herança
Ludimila Monjardim Casagrande
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
Mouna Torjmen
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
Ludimila Monjardim Casagrande
Recomendados
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Ludimila Monjardim Casagrande
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
Ludimila Monjardim Casagrande
POO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
Felipe J. R. Vieira
Aula de Introdução - JAVA
Aula de Introdução - JAVA
Moises Omena
POO - 10 - Herança
POO - 10 - Herança
Ludimila Monjardim Casagrande
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
Mouna Torjmen
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
Ludimila Monjardim Casagrande
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Daniel Brandão
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 Exams
Ganesh Samarthyam
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Ludimila Monjardim Casagrande
POO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
Ludimila Monjardim Casagrande
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
Cleber Fonseca
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Leonardo Melo Santos
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel Brandão
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
Java swing
Java swing
Tiago
Aula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
Aula 03 - Layout e Integração de formulário com HTML e PHP
Aula 03 - Layout e Integração de formulário com HTML e PHP
Dalton Martins
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
Carlos Henrique Martins da Silva
JAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
Python
Python
Álvaro Justen
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
Natanael Fonseca
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Daniel Brandão
Pop encapsulação
Pop encapsulação
Juciê Vasconcelos
Farmacotécnica
Farmacotécnica
Julia Martins Ulhoa
Mais conteúdo relacionado
Mais procurados
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Daniel Brandão
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 Exams
Ganesh Samarthyam
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Ludimila Monjardim Casagrande
POO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
Ludimila Monjardim Casagrande
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
Cleber Fonseca
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Leonardo Melo Santos
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Daniel Brandão
Programação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
Java swing
Java swing
Tiago
Aula 09 - introducao oo
Aula 09 - introducao oo
Moacir Jóse Ferreira Junior Ferreira
Aula 03 - Layout e Integração de formulário com HTML e PHP
Aula 03 - Layout e Integração de formulário com HTML e PHP
Dalton Martins
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
Carlos Henrique Martins da Silva
JAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Elaine Cecília Gatto
Python
Python
Álvaro Justen
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
Natanael Fonseca
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Ludimila Monjardim Casagrande
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Daniel Brandão
Mais procurados
(20)
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 Exams
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 17 - Interfaces
POO - 17 - Interfaces
POO - 04 - Variávies em Java
POO - 04 - Variávies em Java
POO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Segurança da Informação - Aula 4 - Malwares
Segurança da Informação - Aula 4 - Malwares
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
Programação Orientada a Objetos
Programação Orientada a Objetos
Java swing
Java swing
Aula 09 - introducao oo
Aula 09 - introducao oo
Aula 03 - Layout e Integração de formulário com HTML e PHP
Aula 03 - Layout e Integração de formulário com HTML e PHP
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
JAVA - Orientação a Objetos
JAVA - Orientação a Objetos
Python
Python
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
POO - 16 - Polimorfismo
POO - 16 - Polimorfismo
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
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 - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
Felipe J. R. Vieira
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
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 - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
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 - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
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 - 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 - 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 - 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
(14)
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 - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
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 - 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 - 07 - Operadores do Java
POO - 07 - Operadores do Java
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
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 e 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