Buscar

FORUM- MODELAGEM DE SISTEMAS D (2)

Prévia do material em texto

26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 1/17
2014.1 - EAD - MODELAGEM DE SISTEMAS
(CCT0264/1509036) 9001 - Fórum de Discussão D
(Aulas 9 e 10)
 
Criado pelo(a) Professor (a) .PRODUÇÃO EAD em 05/03/2014 16:36:19
Esse é o espaço destinado para discussão dos conteúdos e conceitos abordados nas aulas 9 a 10. Contribua com suas anotações, dúvidas e
pontos de vista, já que sua nota de participação será apurada por meio da colaboração nas discussões dos fóruns Além disso, o (a) tutor (a) a
distância irá lançar questionamentos para interação de todos.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 43 dias atrás
Prezado(a)s aluno(a)s, ABAIXO CONSIDERAÇÕES E TEMA PARA POSTAGEM
1) Não faça copias e colagens da internet e se usar textos de terceiros referencie e faça suas conclusões e comentários.
2) Não poste, PELA PRIMEIRA VEZ, nos 2 últimos dias, pois o rendimento e pontuação são menores, em função da ausência de interação entre nós,
o que é fundamental.
TEMA
A aula 10 aborda a visibilidade de atributos e métodos dentro das classes, atividade de extrema relevância para a criação de classes coesas e indepdendentes.
Discorra sobre a relevância da boa classificação de usabilidade dos atributos e métodos, para
1. Manter o conceito de encapsulamento efetivo
2. Possibilitar a herança e polimorfismo de forma adequada.
NÂO responda cada item, pois o tema é para uma postagem de um texto ÚNICO, com coerência, de no máximo 6 linhas que e aborde na íntegra a temática
proposta.
Em seu texto use contra exemplos, que caracterize o que NÂO deve ser feito, em relação a usabilidade de atributos e métodos, dificultando o encapsulamento,
herança e polimorfismo.
 
 Aluno (a) GILSON DA ROCHA respondeu a 43 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
A relevância é a segurança dos atributos e métodos. Tudo o que o usuário externo precisa conhecer a respeito de uma classe encontra-se
em propriedades ou métodos declarados como públicos. Declarando como privado os métodos e atributos ficam encapsulados, ficando assim ocultos.
O polimorfismo é quando uma classe pode usar os objetos da outra. Por exemplo: se eu tenho uma classe que mostra um menu na tela. Essa seria
uma classe pública, mas as informações importantes para o sistema ficam em uma classe privada.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 42 dias atrás 
Comentário da postagem de GILSON DA ROCHA
Gilson
avance em suas explicações e mostre a relevancia para cada conceito solicitado no enunciado: encapsulamento, herança e polimorfismo.
Alem disso o seu conceito de polimorfismo não esta correto. Reveja por favor.
Apos relfexão do acima exposto, refaça, por favor, o seu texto.
Obrigado
Abs
Marcelo
 Aluno (a) GILSON DA ROCHA respondeu a 37 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Quando usado cuidadosamente, o encapsulamento transforma seus objetos em componentes “plugáveis”. Para que
outro objeto use seu componente, ele só precisa saber como usar a interface pública do componente.
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que
têm a mesma identificação,.mas comportamentos distintos.
A herança é o compartilhamento de atributos e operações entre classes com base em relações hierárquicas. 
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 2/17
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 37 dias atrás 
Comentário da postagem de GILSON DA ROCHA
Gilson
OK, mas e o foco de nosso fórum?
- a visibilidade dos atributos e metodos. Como essa visibilidade se encaixa nos conceitos que voce expos, muito
habilmente.
Abs
Marcelo
 
 Aluno (a) PAULO HENRIQUE RODRIGUES RIBEIRO respondeu a 43 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Editado por PAULO HENRIQUE RODRIGUES RIBEIRO em 14/05/2014 16:18
 Boa tarde, Professor.
Herança é um mecanismo que auxilia a definir relações de subtipo e reutilizar código. De todo modo, herança e subtipo são mecanismos diferentes
entre si e devem ter construtores diferentes nas linguagens de programação. Herança é um conceito muito poderoso, pois possibilita que os
desenvolvedores maximizem o uso dos métodos (comportamento) e dos dados (estrutura) dos objetos existentes. Podemos entender herança, sob a
ótica de linguagem de programação orientada a objetos, como sendo um mecanismo para construir classes a partir de classes existentes.
Polimorfismo é a habilidade de diferentes objetos receberem a mesma mensagem e se comportarem de maneira diferente. Implica em criar uma
interface pela qual serão recebidas mensagens determinando o comportamento do objeto. O Polimorfismo também suporta passagem de tipos
diferentes de objetos como parâmetro nas mensagens enviadas a outros objetos. 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 42 dias atrás 
Comentário da postagem de PAULO HENRIQUE RODRIGUES RIBEIRO
Paulo,
Sua postagem nao esta dentro do contexto do que fora soliciatdo. Não estamos discutindo aqui os conceitos de encapsulamento, herança e
polimorformos e sim a RELEVANCIA de uma boa classificação de atributos e métodos, para que cada um dos conceitos possa ser
implementado com efetividade.
Agradeço e aguardo seu novo texto, agora atendendo ao que se pede.
Abs
Marcelo
 Aluno (a) FLÁVIO DE OLIVEIRA LIMA respondeu a 40 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
O conceito de implementação de uma classe visa proteger de forma encapsulada seus métodos e atributos. Por questão de segurança, é
importante que os atributos de uma classe sejam acessados apenas por meio de métodos privados e seja evitado o uso de atributos
públicos. Quando for necessário acessar algum atributo, o mesmo pode ser feito por meio de interfaces, utilizando-se por exemplo, de
métodos com parâmetros que podem ser tratados na classe. 
Uma boa classificação utiliza adequadamente a definição da visibilidade de seus atributos e métodos, permitindo seu reuso e formas diversas para
interação com outras classes. 
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 40 dias atrás 
Comentário da postagem de FLÁVIO DE OLIVEIRA LIMA
Oi Flavio,
Muito bom, excelentes comentarios.
O encapsulamento e a base da OO e nao devemos desrespeita-lo jamais,
Que prejuizos, para o codigo e as classes, podemos ter quando classificamos atributos como publicos ?
Abs
Marcelo 
 Aluno (a) FLÁVIO DE OLIVEIRA LIMA respondeu a 40 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Editado por FLÁVIO DE OLIVEIRA LIMA em 17/05/2014 14:07
Ao meu ver, os principais são falha de segurança e a alta manutenibilidade. Por exemplo, quando atributos que
precisam ser validados são públicos, normalmente, deveriam ser tratados pela classe chamadora. Isto seria um problema, pois
cada uma dessas classes deveria implementar diferentes formas de validação, sem seguir um mesmo padrão, ou pior, não
implementar validações. Porém com o encapsulamento haveria um único padrão de validação, com regras bem definidas e
tratamento de erros adequado. Além disso, caso haja necessidade de manutenção do código, todos os trechos relacionados ao
atributo deveriam ser revistos; perda de tempo e passível de falha de consistência.
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 3/17
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás 
Comentário da postagem de FLÁVIO DE OLIVEIRALIMA
Isso Flavio,
Resumindo e simplificando, quando atributos são classificados como publicos, podemos concluir que ferimos ao
principio do encapsulamento ?
Abs
Marcelo
 Aluno (a) FLÁVIO DE OLIVEIRA LIMA respondeu a 33 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Editado por FLÁVIO DE OLIVEIRA LIMA em 24/05/2014 13:25
 Sim, atributos classificados como públicos ferem o princípio de encapsulamento.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de FLÁVIO DE OLIVEIRA LIMA
 E isso ai, Flavio 
Construiu o conhecimento com efetividade
Abs
Marcelo
 Aluno (a) PATTRICK MULLER QUEIROGA respondeu a 40 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
A boa classificação de usabilidade dos atributos e métodos é fundamental para que o encapsulamento da classe seja efetivo, 
contribuindo para que a classe e seus métodos sejam o mais independentes quanto for possível e para que seja flexível e de fácil manutenibilidade. 
Partindo deste princípio, onde o encapsulamento foi executado com perfeição, teremos a flexibilidade e independência necessária para que a classe dê
origem a
novas classes especializadas e que estas novas classes possam ser utilizadas por interfaces criadas para a classe pai.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás 
Comentário da postagem de PATTRICK MULLER QUEIROGA
Pattrick,
Muito bom, relacionando bem os temas propostos. Parabebns.
O que acontece quando classificamos um atributo como publico ? e um metodo como privado?
Se quisermos que um metodo seja passível de herança, qual visibilidade devemos atribuir a ele?
abs
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 4/17
Marcelo
 Aluno (a) PATTRICK MULLER QUEIROGA respondeu a 37 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
O que acontece quando classificamos um atributo como publico ? e um metodo como privado?
R: O atributo publico será visível para as subclasses e para as classes que utilizarem este objeto e o atributo privado não será
visível.
Se quisermos que um metodo seja passível de herança, qual visibilidade devemos atribuir a ele?
R: Public ou Protected
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 36 dias atrás 
Comentário da postagem de PATTRICK MULLER QUEIROGA
 Pattrick
E um atributo publico e bem vindo, ou fere algo ? Por que?
Abs
Marcelo
 Aluno (a) PATTRICK MULLER QUEIROGA respondeu a 34 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Boa noite professor,
 
Não é bem vindo, pois um atributo publico iria de encontro as boas práticas para encapsulamento.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de PATTRICK MULLER QUEIROGA
 Boa Pattrick
Obrigado pela participação 
Abs
 Aluno (a) ERES PEREIRA DA ROCHA respondeu a 39 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Boa tarde a todos.
O encapsulamento é derivado do termo encapsular, em linguagem de programação, significa separar o sistema em programas, ou seja
em partes isoladas de modo a torná-los, mas flexíveis, mais fácil de se manipular. Creio que não devemos então estender os programas, pois se
tornariam difíceis de se modificar, creio também que se estiver separados um programa pode ser utilizado em outras rotinas.
Herança é um mecanismo da orientação a objeto, que permite criar classes a partir de outras classes, estas seriam as subclasses, que herdam todas
as características de suas superclasses, como são assim chamadas as classes de que se derivam as subclasses. No meu entender, as subclasses
são criada para facilitar o processamento. onde serão utilizadas somente,quando for coerente utilizá-las.
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 5/17
O polimorfismo parte do principio em que duas ou mais subclasses podem invocar métodos de uma superclasse, que tenham a mesma identificação,
mas comportamentos distintos. o polimorfismos, quer dizer várias formas, ou seja, denota uma situação em que um objeto pode se comportar de
várias formas dependendo de uma mensagem recebida, conforme o seu tipo de criação.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás 
Comentário da postagem de ERES PEREIRA DA ROCHA
Oi Eres
O seu conceito de encapsulamento esta equivocado e o mesmo não se restringe a programação e sim a analise e projeto também. Em
orientação a objeto tem a conotação de proteger atributos e metodos de acessos indesejados.
Alem disso esse forum não é para discutir os 3 conceitos apresentados, como voce fez e sim discutir a visbilidade de atributos e metodos,
ou seja como essa visibilidade deve ser classificada para que os 3 conceitos possam ser implementados de forma efiente.
Para que possa postar com mais propriedade
- rever o conceito de encapsulamento, sob a otica acima explicada
- estudar a aula 10 online, para ver os conceitos de visibilidade de atribiutos e metodos.
Aguardo sua nova postagem condizente
abs
Marcelo
 Aluno (a) SÉRGIO MARCOS PIZIOLO respondeu a 38 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Boa tarde a todos!
O cenceito de encapsulamento vem de proteger, ai no caso os métodos e atributos de uma classe, permitindo o acesso essa classe de maneira
privativa, ao criador da classe; devemos evitar o acesso público, pois nos da uma implementação menos flexível, quanto a mudança de código, criando
essa classe de maneira privada, conseguimos também uma fácil reutilização dos seus componentes, uma vez que seus componentes são
independentes.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás 
Comentário da postagem de SÉRGIO MARCOS PIZIOLO
Sérgio,
Otimo. Bem pontuado.
Como a herança e o polimorfismo seráo possíveis, dianta da premissa do encapsulamento?
de exemplos praticos, se possível for
Abs
Marcelo
 Aluno (a) SÉRGIO MARCOS PIZIOLO respondeu a 35 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Marcelo, boa tarde!
O encapsulamento feito com o motivicador private os atributos da classe pai não ficam acessíveis as classes filha, para dar
acesso a classe filha teríamos que usar o motivicador protected.
Ex.: protected
class Valor{
protected float a,b;
public Valor(float ia, float ib) {
this.a=ia;
this.b=ib}
.
}
class Virgula extends Valor{
public Virgula(float c, float d) {
super(c,d); }
public void move (float ix, float iy)
 
Ex.: private
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 6/17
class Numero {
private float a,b;
public Numero (float ia, float ib) {
this.a=ix;
this.b=ib; }
public void inicializa(float c, float d) {
this.a=c;
this.b=d; }
public float retorna a ( ) {
return x;
.
.
}
 
class Virgula extends Numero {
public Virgula (float c, float d) {
super (c,d); }
.
.
}
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de SÉRGIO MARCOS PIZIOLO
 Beleza Sergio
Boa complementação
Obrigado pela partcipação aqui 
Abs
 Aluno (a) DIEGO AUGUSTO PEREIRA DE ANDRADE respondeu a 38 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Professor Marcelo, boa tarde!
 
Para que o encapsulamento seja efetivo devem ser encapsulados os métodos e atributos paraque o acesso aos atributos da classe sejam feitos pelo
método privado, com permissão, o encapsulamento serve para proteção dos dados, segurança.O modificador private deixará visível o atributo apenas
para a classe em que este atributo se encontra.
A herança compartilha atributos e operações entre classes, para isso é necessário que haja o tratamento de erros dos atributos e métodos das
classes, uma boa classificação evita que se projete e implemente novamente um código já existente, evita a redudância, e permite a interação com as
demais classes.
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 7/17
No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de
métodos, que é o mesmo que sobrescrita de métodos em classes derivadas.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás 
Comentário da postagem de DIEGO AUGUSTO PEREIRA DE ANDRADE
Oi Diego,
metodo privado? mas nesse caso como outra classe vai acessar esse metodo ? nao entendo
Como a heranca sera possível?
Abs
Marcelo
 Aluno (a) DIEGO AUGUSTO PEREIRA DE ANDRADE respondeu a 37 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Professor, bom dia!
A herança será possível permitindo o seu reuso e formas diferenciadas para interagir com as outras classes.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 36 dias atrás 
Comentário da postagem de DIEGO AUGUSTO PEREIRA DE ANDRADE
Diego
Ok, quando ao segundo questionamento?
e as perguntas na linha anterior a que respondeu ? 
Agradeço
Abs
Marcelo
 Aluno (a) DIEGO AUGUSTO PEREIRA DE ANDRADE respondeu a 35 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Professor, bom dia!
Quanto ao método privado, para que possamos manter o conceito de encapsulamento efetivo é ncessário
que seus dados e métodos sejam protegidos,sendo assim temos os métodos privado,público,protegido e
implementação onde deverão ser respeitados suas particularidades de classes por uma questão de
segurança dos dados. As classe principais, "mãe" devem ser protegidas e as "filhas" devem ser publicas
para que qualquer classe possa ler as informações.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás 
Comentário da postagem de DIEGO AUGUSTO PEREIRA DE ANDRADE
Diego
Se mantivermos todos os METODOS como privados, que serviço a classe prestara as demais?
abs
Marcelo
 Aluno (a) DIEGO AUGUSTO PEREIRA DE ANDRADE respondeu a 34 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Professor, boa tarde!
Se mantivermos todos os metodos como privados não prestará serviço algum as demais
classes pois perde sua finalidade.
 
Abraço,
 
Diego
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de DIEGO AUGUSTO PEREIRA DE ANDRADE
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 8/17
 Ok Diego, logo nao devemos ter classes apenas com metodos privados, pois a
classe ficarea sem sentido
Bingo !!! 
Abs
Marcelo
 Aluno (a) GUSTAVO ALVES PEIXOTO respondeu a 37 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
O encapsulamento é uma parte fundamental quando se trata de segurança. Temos que dar atenção especial principalmente quando
definimos atributos e métodos como “públicos”. Analisar a real necessidade e a possibilidade de migra-los para “Privados” ou
“Protegidos”. O ideal é que o maior número de métodos e atributos sejam definidos como “Privados”, só podem ser visualizados dentro da própria
classe, quando há a necessidade de que uma subclasse utilize atributos ou métodos da classe mestre definimos como “Protegida” e a publica
qualquer classe pode ler informações e deve ser evitada.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 36 dias atrás 
Comentário da postagem de GUSTAVO ALVES PEIXOTO
 Oi Gustavo
Devemos ter atributos publicos? Por que ?
Mas se os metodos forem privados, como a classe vai ofercer servicos as demais? 
Voce so abordou encapsulamento. E como devem ser as visibilidade para efetiva implantacao de heranca e polimorfismo?
Agradeço
Abs
Marcelo
 Aluno (a) GUSTAVO ALVES PEIXOTO respondeu a 35 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Podemos utilizar atributos públicos em alguns casos onde os mesmos precisam ser compartilhados por todas as
classes, porém deve ser realizada uma analise criteriosa para não colocar em risco a segurança do programa.
Quanto a visibilidade quando definimos os métodos ou atributos como publico, privado ou protegido estamos definindo também a
visibilidade dentro de classes filho através da herança ou em todas as classes, ou definindo se podemos utilizar um mesmo
atributo ou método em outra classe sem comprometer a qualidade dos dados.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de GUSTAVO ALVES PEIXOTO
Ok, Gustavo
Mas nao respondeu abaixo
- Mas se os metodos forem privados, como a classe vai ofercer servicos as demais?
devemos evitar sempre, clasificar atributos como piblicos, pois fere o principio do encapsulamento
Abs
Marcelo 
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 9/17
 Aluno (a) GUSTAVO ALVES PEIXOTO respondeu a 33 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
A única maneira de lermos dados de atributos privados, é se construirmos dentro da classe do
atributo privado um método com atributo publico ou protegido e passarmos este valor através
do método. Por exemplo:
//Cria a classe
class Ler_Atributo_privado {
 //Cria o atributo privado nota
 private int nota;
 //Método que atribui um valor para variável privada nota
 Public void escreve_valor (int nota) {
 This.nota = nota;
 }
 //Método que le a variável privada nota
 Public int ler_nota () {
 Return this.nota;
 }
}
 
Obrigado pela oportunidade de compartilhar conhecimento entre colegas e o professor ampliando meu
conhecimento.
Abraços,
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de GUSTAVO ALVES PEIXOTO
 Gustavo
Ok, mas mesmo depois da minha segunda tentativa de obter sua resposta, voce nao foi objetvo
ao me responder o primeiro questionamento, sobre os metodos privados.
Se todos os metodos forem privados, a classe não prestará serviço as demais classes e perderá
o sentido
Abs
Marcelo
 Aluno (a) LEANDRO BERNARDINO DA SILVA respondeu a 36 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Bim dia professor e colegas.
 
Manter o conceito de encapsulamento efetivo consiste na proteção dos seus dados e métodos, temos os métodos privado,público,protegido e
implementação onde deverão ser respeitados suas particularidades de classes por uma questão de segurança,gerando assim a eficácia do sistema e
contribuindo para reutilização de seus componentes.quando essas variáveis se referem ao mesmo tempo de execução a objetos de diversas classes
temos então o porlimofismo.ainda temos como definição,sendo o nome de objetos diferentes em responder a mesma mensagem, 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás 
Comentário da postagem de LEANDRO BERNARDINO DA SILVA
Oi Leandro,
Ok, obrigadopelas considerações
Abaixo alguns questionamentos, para focarmos na pratica
E a reflexão acerca da classificacao adequada para uma boa implementação dos 3 prinicipios, como pedia o enunciado?
1. Devemos definir atributos como privados ? por que?
2. Devemos definir todos os metodos de uma classe como privados ? por que?
3. se quisermos que um metodo seja herdado, como definir sua visibilidade ?
Abs
Marcelo
 Aluno (a) LEANDRO BERNARDINO DA SILVA respondeu a 36 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Editado por LEANDRO BERNARDINO DA SILVA em 21/05/2014 01:04
Boa noite professor e colegas. 
Manter o conceito de encapsulamento efetivo consiste na proteção dos seus dados e métodos, temos os métodos privado,público,protegido e
implementação onde deverão ser respeitados suas particularidades de classes por uma questão de segurança,gerando assim a eficácia do sistema e
contribuindo para reutilização de seus componentes.quando essas variáveis se referem ao mesmo tempo de execução a objetos de diversas classes
temos então o porlimofismo,ainda temos como definição como sendo o nome dado a capacidade de objetos diferentes tem de responder a mesma
mensagem.
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 10/17
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás 
Comentário da postagem de LEANDRO BERNARDINO DA SILVA
Leandro
Postagem duplicada, responda na primeira postagem
Abs
Marcelo
 Aluno (a) LEANDRO BATISTA NUNES CORREIA respondeu a 36 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Uma boa classificação de usabilidade é aquela que previne que o código seja usado de maneira não segura. Garantindo visibilidade
somente ao que for necessário para seu funcionamento. Assim podemos manter seguros os dados armazenados nos membros da classe, sabendo
que eles serão manipulados apenas dentro de sua classe especialista.
Uma das vantagens de escrever um código com acesso restrito é que o usuário do código( ou programador front-end )terá que aprender apenas as
definições da classe compartilhadas na interface, não precisando examinar a classe inteira para utilizar o código, poupando tempo na implementação.
Uma boa modelagem dessa classe garantirá que ela poderá ser reutilizada em vários projetos, ou módulos do mesmo projeto, havendo necessidade
de um complemento, podemos criar uma nova classe que herdará os métodos e atributos da classe original.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás 
Comentário da postagem de LEANDRO BATISTA NUNES CORREIA
Oi Leandro Batista]
Obrigado.
Abaixo 3 questionamentos, para fechar o entendimento
E a reflexão acerca da classificacao adequada para uma boa implementação dos 3 prinicipios, como pedia o enunciado?
1. Devemos definir atributos como privados ? por que?
2. Devemos definir todos os metodos de uma classe como privados ? por que?
3. se quisermos que um metodo seja herdado, como definir sua visibilidade ?
Abs
Marcelo
 Aluno (a) LEANDRO BATISTA NUNES CORREIA respondeu a 34 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
1) Sim, usualmente os atributos devem ser acessados pelo get e set. Porque assim os dados estarão sendo
armazenados, validados e modificados apenas pela sua classe especialista. 
2) Normalmente Não, tirando o método construtor que deve ser publico, se definirmos todos os métodos de uma classe como
privados a classe ficaria isolada, Acredito que isso dependeria muito da regra de negócio e a finalidade dessa classe.
3) Devemos declara-lo como public ou protected.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de LEANDRO BATISTA NUNES CORREIA
 Show Leandro
Voce construiu o conhecimento com efetividade. Bingo !! 
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 11/17
aBS
MARCELO
 Aluno (a) FERNANDO ANTONIO PINA DE SOUZA respondeu a 34 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Boa noite Professor,
Respondendo ao exercício proposto:
Inicialmente, vale destacar que a usabilidade está relacionada à qualidade da interação de sistemas com os usuários e depende de vários fatores,
entre eles a flexibilidade e produtividade. Dentro de uma classe, atributos são os itens de dados e métodos, suas funções. Neste caso, uma boa
classificação de usabilidade está relacionada à construção de interfaces de acesso bem definidas, que possibilitam fazer um efetivo reuso de objetos,
sendo a reusabilidade e a extensibilidade formas de possibilitar a adaptação fácil às mudanças e a consequente redução dos custos de manutenção
do sistema. Estas características estão relacionadas tanto ao efetivo encapsulamento quanto à herança e o polimorfismo adequados. Um exemplo
relacionado ao reuso com a herança seria o fato de que desenvolvedores não precisariam redefinir atributos repetidas vezes, se estes atributos já
fossem definidos um vez pela superclasse.
Fontes:
www2.dem.inpe.br/ijar/EngSofconceitos1.html
Análise Orientada a Objetos, por Alexandre Melo Braga, disponível em https://xa.yimg.com/kq/groups/21646421/894559838/name/AOO-Notas+de+aula+-
+parte+1.pdf
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de FERNANDO ANTONIO PINA DE SOUZA
 Fernando
O foco aqui e uma analise de como classifiacar os atribtitos e metodo, para podermos implementar com efetividade
- encapsulamento, heranca e polimorfimos
explique o devemos e o que podemos fazer com cada tipo de visibilidade (privada, publica e protegida) em cada um dos 3 principios em
discussão
Agradeço
Abs
marcelo
 Aluno (a) FERNANDO ANTONIO PINA DE SOUZA respondeu a 32 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Boa noite Professor,
Entenderia, por exemplo, em relação ao encapsulamento, que apenas parte da informação é disponibilizada para o usuário,
sendo outra parte mantida oculta. A informação exposta seria a interface (especifica os limites de um objeto em termos das
interações possíveis ou propriedades visíveis). A ocultação da dinâmica interna de um objeto seria uma ocultação de dados,
sendo os atributos, neste caso, declarados como privados, não visíveis através da interface. Esse controle de acesso teria a
função de proteger a integridade do objeto, pois quem acessa a interface não pode alterar diretamente os atributos privados do
objeto. Se estes atributos fossem declarados como públicos, nenhuma parte do objeto estaria oculta para os usuários, podendo
qualquer um com acesso a interface alterar diretamente todos os atributos do objeto. 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 12/17
Comentário da postagem de FERNANDO ANTONIO PINA DE SOUZA
Ok, fernando
Ajustoi bem o comentario e atendeu aos objetivos pretendidos do encapsulamento, mas nao falou de como prover
herança
Abs
Marcelo 
 Aluno (a) VICTOR SAMPAIO DE CASTRO respondeu a 34 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Na minha empresa eu aprendi que é importante usar a o conceito de implementação para encapsular metodos e atributos. Por questão de
segurança, é importante que os atributos de uma classe sejam acessados apenas getters and setters, nunca utilizando atributos publicos. Por meio
desses métodos de get e set podemos tratar e manipular os atributos modificando-os em todoo sistema.
Exemplo da minha aplicação. Recortei o codigo ao maximo .... Tem o facade e o Dao tmb. mas só com o action e a Bean ja da pra representar.
public class UsuarioBean {
private int idusuario;
private String nome;
private String login;
private String senha;
private String email;
public int getIdusuario() {
return idusuario;
// E os outros get e set das outras variaveis acima .....
-----------------------------------------------------------------
Public class UsuarioAction
 
public String incluirUsuario(){
UsuarioBean usuario = new UsuarioBean();
usuario.setNome(nome);
usuario.setLogin(login);
// Setando assim nome ao nome, com o set, e não diretamente no atributo, como poderia ser feito se fosse publico. 
Além de tudo que eu ja citei, eu imagino o caos que seria a nomeação de variaveis, se tudo fosse publico rs.
abs
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de VICTOR SAMPAIO DE CASTRO
 Victor,
Maravilha. Isso mesmo. Garante assim o encapsulamento.
E quando queremos usar a heranca, como classificar os atributos e metodos?
Abs
Marcelo
 Aluno (a) MATHEUS SAMPAIO DE CASTRO respondeu a 33 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Eu classificaria a classe public, o metodo public, e o atributo privado. Pois foi assim que eu aprendi que deve ser.
Porem no caso do atributo ser privado não teria como acessa-lo diretamente, teria que usar o get e set. Então se
quisesse ter poder de modificar, e ter total controle de um atributo de uma superclasse, numa subclasse, teria que
ser publico.
Abs
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de MATHEUS SAMPAIO DE CASTRO
 Matheus
Uma pena ter postado nas últimas 48 horas de forum, mesmo com as observações claramente estabelecidas no
enunciado for forum. O motivo é que nossa interacão fica limitada. E a interação é de extrema valia nos fóruns
temáticos.
Ok. Isso memso, Obrigado por postar
Abs
Marcelo
 
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 13/17
 Aluno (a) MARCIO OLIVEIRA BRITTES GUIMARAES respondeu a 33 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Boa noite segue meu comentário:
Encapsulamento
É a característica do objeto de esconder seus dados e suas operações dos outros objetos. As operações e os dados são encapsulados em um
módulo chamado classe que pode ser visto como um pattern para criar objetos (instanciação). O usuário não se preocupa com a implementação dos
métodos, mas apenas com a interface da classe, alcançando um alto grau de desacoplamento, uma vez que é possível alterar a implementação de um
método sem alterar a interface.
Herança e Polimorfismo
Herança é um mecanismo importante quando um grupo de classes apresenta a mesma interface, mas a implementação interna dos métodos é
diferente.
Polimorfismo é uma característica em orientação a objetos que usa a hierarquia de objetos.
O paper deixa muito a desejar na apresentação de Herança e Polimorfismo, possibilitando um entendimento errado para um leitor mais desatento.
Portanto, tentou-se abordar os dois conceitos mais profundamente, embora de maneira rápida.
Herança é um mecanismo que ajuda definir relações de subtipo e reusar código. Contudo herança e subtipo são mecanismos distintos e devem ter
construtores diferentes nas linguagens de programação. Herança é um conceito muito poderoso, uma vez que possibilita que os desenvolvedores
maximizem o uso dos métodos (comportamento) e dos dados (estrutura) dos objetos existentes. Pode-se entender herança, sob a ótica de linguagem
de programação orientada a objetos, como sendo um mecanismo para construir classes a partir de classes existentes.
O mecanismo de herança pode ser classificado de três maneiras independentes:
Estático ou Dinâmico;
Implícito ou Explícito;
por Objeto ou por Grupo.
Polimorfismo é a habilidade de diferentes objetos receberem a mesma mensagem e comportar-se de maneira diferente. Polimorfismo implica em criar
uma interface pela qual serão recebidas mensagens determinando o comportamento do objeto.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de MARCIO OLIVEIRA BRITTES GUIMARAES
 Marcio
Uma pena ter postado nas últimas 48 horas de forum, mesmo com as observações claramente estabelecidas no enunciado for forum. O
motivo é que nossa interacão fica limitada. E a interação é de extrema valia nos fóruns temáticos.
O foco nesse fórum não era a discussão sobre os conceitos de encapsulamento, herança e polimorfismos, ja discutidos no forum A, mas
sim das analises de como deveriamos ou não agir para classificar corretamente a visibilidade de atributos e metodos, para que esses 3
conceitos possam ser implementados com qualidade. Sua postagem não atendeu aos objetivos aqui pretendidos.
Abs
Marcelo
 
 Aluno (a) FABIO AUGUSTO LAGO DE AQUINO FONSECA respondeu a 33 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Boa noite,
Como muitos colegas citaram, encapsulamento é necessário por motivos de segurança. Porém, o desenvolvimento de manutenção do software tem
muito a ganhar também. Quanto menor a interferencia de uma classe no funcionamento interno de outra classe, menor a cadeia de mudanças
necessárias para qualquer modificação. Vamos supor que um sistema indexa produtos usando int, e com o tempo se torna necessária a troca por
STRING. se a classe que acessa esses indexes, acessa diretamente o campo, será necessário um overhaul do sistema inteiro, porém, se for
acessádo por metodo/função, apenas a classe em si devera ser atualizada.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás 
Comentário da postagem de FABIO AUGUSTO LAGO DE AQUINO FONSECA
 Fabio
Uma pena ter postado nas últimas 24 horas de forum, mesmo com as observações claramente estabelecidas no enunciado for forum. O
motivo é que nossa interacão fica limitada. E a interação é de extrema valia nos fóruns temáticos.
O foco nesse fórum não era a discussão sobre os conceitos de encapsulamento, herança e polimorfismos, ja discutidos no forum A, mas
sim das analises de como deveriamos ou não agir para classificar corretamente a visibilidade de atributos e metodos, para que esses 3
conceitos possam ser implementados com qualidade. Sua postagem não atendeu aos objetivos aqui pretendidos.
Abs
Marcelo
 
 Aluno (a) MARCELO LIMA DE ARAUJO respondeu a 37 dias atrás
Bom dia.
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 14/17
Professor e amigos de turma.
Sendo encapsulamento uma técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. No
uso de herança aumenta o acoplamento entre as classes, isto é, o quanto uma classe depende de outra. A relação entre classe mãe e filha é muito forte e isso
acaba fazendo com que o programador das classes filhas tenha que conhecer a implementação da classe pai e vice-versa - fica difícil fazer uma mudança pontual
no sistema. Pois teriamos que que mudar todas as classes filhas no caso de um certo tipo de mudança 
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 37 dias atrás 
Comentário da postagem de MARCELO LIMA DE ARAUJO
Marcelo
Ok,,mas onde entra o foco de nosso forum , em sua postagem, ou seja a visibilidade de atributos e métodos para implementação desses 3 conceitos
relevantes de OO?
Abs
Marcelo
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 37 dias atrás 
Comentário da postagem de MARCELO LIMA DE ARAUJO
MarceloE como devemos usar os principios de visvilidade para não deixar que os problemas citados venham a acontecer?
abs
Marcelo
 Aluno (a) RAFAEL EVANGELISTA MATOS respondeu a 36 dias atrás
Boa noite a todos.
Visibilidade é a capacidade de um objeto fazer referência e utilizar métodos e valores de outro objeto. Assim, quando se especifica um método ou
uma classe eles devem ser protegidos quanto ao acesso, mantendo vivo na programação o conceito de encapsulamento, e para isso usa-se a condição “private”.
Já quando se deseja liberar o acesso feito de forma externa a classe, o que não é uma situação desejável, pois vai contra o conceito de encapsulamento, usa-se a
condição “public”. Com a condição de visibilidade bem definida, teremos como implementar a herança, criando compartilhamento de atributos e operações entre
classes específicas. Bem como, atribuir, através do polimorfismo, métodos específicos e que possuem a mesma identificação para cada classe derivada da
superclasse, e com isso trazendo uma maior organização à programação.
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 36 dias atrás 
Comentário da postagem de RAFAEL EVANGELISTA MATOS
Oi Rafael,
 Mas se os metodos de uma classe forem todos privados, qual problema teremos ? Por que?
Abs
Marcelo
 Aluno (a) DIEGO AUGUSTO PEREIRA DE ANDRADE respondeu a 35 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 Professor, bom dia!
Desculpe em entrar no tópico do colega e na pergunta que o senhor fez pra ele, mas gostaria de tentar ajudar!
Se todos os metodos forem privados o problema que teremos é que não conseguiremos ler informações de nenhuma classe nem haverá
comunicação entre elas.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás 
Comentário da postagem de DIEGO AUGUSTO PEREIRA DE ANDRADE
Sem problemas, Diego. O forum tem esse proposito mesmo. Sinta-se, sempre a vontade.
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 15/17
Bingo !!!! 
Parabens pela percepção
isso mesmo
Obrigado pela intervenção.
Rafael , entendeu ?
Abs
 
 Aluno (a) RAFAEL EVANGELISTA MATOS respondeu a 35 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
Boa tarde.
Complementando a resposta do colega Diego, que relatou sobre o problema que o método privado permite que ele
seja acessado apenas pela classe que o implementa, impedindo o acesso das demais e ficando restrito apenas a
sua própria classe. Acredito que para solucionar esse empecilho, faz-se uso dos métodos “get” e “set”. Certo???
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de RAFAEL EVANGELISTA MATOS
 Rafael
sim, somente quando for extritamente necessario.
Abs
Marcelo
 Aluno (a) MATHEUS SAMPAIO DE CASTRO respondeu a 35 dias atrás
Algumas das vantagens que eu vejo em utilizar o que chamamos tecnicamente de "visibilidades de atributos e métodos"(mas que poderia ser
chamado pela geração-facebook de: privacidade de cada "componente" de um sistema) são:
diminuir o acoplamento entre as classes, para evitar que novos códigos resultem em modificações em inúmeros lugares.
possibilitar(ou não) a utilização de um metodo de fora de sua classe, em diferentes contextos, resultando em um metodo adequado de utilizar o
polimorfismo.
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás 
Comentário da postagem de MATHEUS SAMPAIO DE CASTRO
Oi Matheus,
Na pratica
E a reflexão acerca da classificacao adequada para uma boa implementação dos 3 prinicipios, como pedia o enunciado?
1. Devemos definir atributos como privados ? por que?
2. Devemos definir todos os metodos de uma classe como privados ? por que?
3. se quisermos que um metodo seja herdado, como definir sua visibilidade ?
Abs
Marcelo
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 16/17
Para Você
Central de Mensagens
Certificados
Histórico
Onde Ir
Home Disciplinas
Busca Avançada
Mapa do Site
 Aluno (a) MATHEUS SAMPAIO DE CASTRO respondeu a 34 dias atrás 
Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA
 1. Sim, para proteger o atributo. E também se você usar getters / setters você pode executar lógica sobre alterações ou acesso.
Você pode validar a entrada, em vez de deduzir que ela está sempre correta. Você pode controlar quantas vezes o valor é
buscado. Com menos palavras eu utilizaria o argumento de boas praticas de encapsulamento para justificar a utilização de
atributos privados. Pois em um atributo publico, se você modifica algo nele, muito provavelmente teria que modificar em todos
os lugares que utiliza-o, sendo ele privado, na maioria das vezes precisaria apenas mudar em um lugar, no get/set.
2. Não, na verdade o padrão é que os metodos sejam publicos. pq? Para que possam ser acessados de fora da classe. A não ser que seja
requisitado que aquele metodo possa apenas ser manipulado dentro da sua respeciva clase.
3. Public!
Abs
 
 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás 
Comentário da postagem de MATHEUS SAMPAIO DE CASTRO
Ola Matheus,
Perfeito, atributo privado, garante o encspsulamento 
Se uma classe tiver todos os metodos como privados , ela perde a finalidade de ser, pois nao vai oferecer nenhum servi;o as
demais classes.
Protected
Abs
Marcelo
26/6/2014 Campus Virtual Estácio
http://estacio.webaula.com.br/aluno/forum/comentarios_print.asp?CodTopico=779723&CodTurma=392777&CodComunidade=0 17/17
LMS webAula Versão 4.0. © Direitos Autorais Reservados. webAula

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes