Baixe o app para aproveitar ainda mais
Prévia do material em texto
2014.1 - EAD - MODELAGEM DE SISTEMAS (CCT0192/1508972) 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:22 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) DANIEL SANTOS ROSARIO respondeu a 40 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA visibiliade é a capacidade de um objeto fazer referencia e utilizar métodos e valores de outro objeto e pode ser feito de quatro formas: visibilidade por atributo; visibilidade por parametro visibilidade local; visibilidade global. *visibilidade por atributo, ocorre quando um atributo B é um atributo de um objeto A. *Visibilidade por parametro, ocorre quando o B é passado como parametro na chamada do método de A. *visibilidade local, ocorre a instancia do objeto de B é definido dentro do método de A. *visibilidade globa, ocorre quando B e global para A. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás Comentário da postagem de DANIEL SANTOS ROSARIO Daniel Você não atendeu ao que se pedia no enunciado. Voce deve falar dos conceitos apresentados na aula 10, porem mostrando como a visibilidade é relevante para que os conceitos de encapsulamento, herança e polimorfismo possam sem bem implementados agradeço e aguardo nova participação abs Marcelo Aluno (a) DANIEL SANTOS ROSARIO respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA visibilidade por atributos: Professor, uma das formas de visibilidade de objetos, se dá por associação usando chaves estrangéras entre tabelas, é assim que podemos enxergar os dados da outra tabela. É dessa forma que conseguimos fazer selects e visualizar conteúdo de várias tabelas, fazemos amarração de chaves primárias de uma tabela com a chave estrangeira da outra. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de DANIEL SANTOS ROSARIO Prezado Daniel Estamos tratando de visibilidade em diagramas de classe, que nao tem o conceito de chave estrangeiro, restrito ao contexto de banco de dados relacionais. Estamos falando dos tipos de visibilidade, protegido, publuco e privado, possiveis a atributos e metodos de uma classe e de como devemos classifica-los adequadamente para que possamos prover os 3 conceitos: encapsulamento, heranca e polimorfismo. Por favor, assiste as aulas e poste em conformidade. Os conceitos estao la. AUla online. Muito obrigado pela atencao Aluno (a) ALEXANDRE LIMA DE SOUZA respondeu a 39 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Bom dia, Encapsulamento é uma das principiais vantagens da modelagem de objetos e deve ser utilizado para proteger atributos e métodos de uma classe, permitindo que sejam visíveis apenas onde e quando for extremamente necessário. Existem quatro graus de visibilidade de encapsulamento: Private quando somente objetos de uma classe tem acesso aos métodos e atributos. Protected, quando as subclasses tem acesso aos métodos e atributos de private de uma superclasse. Deve ser utilizado somente quando temos a estrutura generalização / especialização, permitindo desta forma a herança e polimorfismo. Public, quem tem acesso a esta classe, também tem acesso aos seus métodos e atributos. Esta é uma situação que deve ser evitada e quando for necessário o uso, deve ser usada com muito cuidado. E quando nenhum grau de visibilidade é informado (nenhum) é considerado como protected. Abs Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 38 dias atrás Comentário da postagem de ALEXANDRE LIMA DE SOUZA Alexandre E quanto a herança e polimorfismo, do que dependem da boa classificacaçao de visbilisade para uma boa implementação ? O que acontece se classificarmos um atributo com publico ? e um metodo como private ? Obrigado abs Marcelo Aluno (a) ALEXANDRE LIMA DE SOUZA respondeu a 37 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Editado por ALEXANDRE LIMA DE SOUZA em 19/05/2014 22:11 Boa noite, Uma boa classificação de visibilidade irá trazer segurança, modularidade e autonomia para os objetos, protegendo de forma adequada seus atributos e métodos de acesso direto quando não for necessário e ou tornando-os visíveis quando houver a necessidade. Um atributo classificado como public poderá ser acessado fora da classe que foi declarado, ou seja pode ser acessado de qualquer parte de uma aplicação. Os atributos devem ser classificados como private, seguindo as boas práticas de programação. Um método classificado como private só poderá ser acessado dentro da própria classe. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 37 dias atrás Comentário da postagem de ALEXANDRE LIMA DE SOUZA Ok, Alexandre Bem pontuado. Obrigado por sua participação Abs Marcelo Aluno (a) CARLOS ROBERTO HONORIO DA SILVA respondeu a 37 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA A usabilidade dos Atributos e Métodos dependem fundamentalmente de uma boa classificação a partir da SUPERCLASSE pois é nela que ficarão todos os ATRIBUTOS e os MÉTODOS que são comuns às diversas SUBCLASSES, pois qualquer alteração nos atributos da superclasse e no seu comportamento (MÉTODOS), reflete automáticamente nas subclasses e consequentemente na HERANÇA dessas características e nos seus MÉTODOS. A estrutura e o comportamento da superclasse bem elaborado permite um mecanismo de organização, construção e uso de classes REUTILIZÁVEIS, permitindo características de extensibilidade e reusabilidade ao software. Comentários feitos a partir de Rumbaugh et al (1994) O encapsulamento efetivo ocorre quando estão presentes três grandes características da orientação a objetos:ABSTRAÇÃO, OCULTAÇÃO DA IMPLEMENTAÇÃO e DIVISÃO DE RESPONSABILIODADES. As SUPERCLASSES ou CLASSES MÃE devem ser naturalmente ABSTRATAS ou seja sem instâncias, sem objetos, com o objetivo de padronizar as interfaces das subclasses. Fornecem uma modelagem mais robusta aos programador. A manutenção da HERANÇA é dessa forma possível se for feita uma adequada estruturação da classe mãe. Também o POLIMORFISMO que é a faculdade de uma subclasse responder de forma conveniente a uma mensagem enviada por meio de métodos polimórficos. Se retirarmos a ABSTRAÇÃOteremos um código que não é reutilizável. Se retirarmos a OCULTAÇÃO DA IMPLEMENTAÇÃO teremos um código fortemente acoplado e frágil. Se retirarmos a RESPONSABILIDADE teremos um código centrado nos dados, procedural, fortemente acoplado e descentralizado. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 37 dias atrás Comentário da postagem de CARLOS ROBERTO HONORIO DA SILVA Oi Carlos Roberto, Ok Vamos praticar um pouco Se quisermos que um metodo de uma superclasse seja herdado, como devemos classificar sua visibilidade? quando devemos classificar um metodo como privado ? e quando devemos classifiar um metodo com publico? Abs Marcelo Aluno (a) CARLOS ROBERTO HONORIO DA SILVA respondeu a 33 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA OK! Se quisermos que um metodo de uma superclasse seja herdado não devemos INSTANCIAR os ATRIBUTOS dos seus OBJETOS. Esses só deverão ser instanciados nas subclasses, ou seja quando falo de INSTANCIAR, estou falando de atribuir valores e especificar dados dos objetos o que só deve ser feito nas SUBCLASSES, pois a SUPERCLASSE é na verdade apenas um modelo para as SUBCLASSES. O Método deve ser classificado como PRIVADO (PRIVATE) quando não desejo que o mesmo seja acessado por outros métodos que não aqueles que pertencem ao mesmo módulo a que o método pertence. Isso é particularmente útil quando esse módulo lida com informações confidenciais, ou estratégicas, que podendo ser acessadas fora do módulo, colocaria essas informações em risco de serem modificadas ou indevidamente acessadas. Um Método deve ser classificado como público quando é interessante para o projeto que ele seja acessado em qualquer parte do software. Sendo público (PUBLIC) o método pode ser chamado e acessado por qualquer outro módulo dentro do software, o que só deve ocorrer se os dados e informações por ele processadas não contiverem partes que não deveriam ser comprometidas. A prática de tornar um método publico não é recomendado salvo excessão pois em um software muito grande pode haver corrupção de informações ou dados, tendo em vista uma relativa complexidade do software. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de CARLOS ROBERTO HONORIO DA SILVA Ok, Carlos Postagem coerente. Obrigado por sua participação. Abs Marcelo Aluno (a) ERIK FERREIRA NUNES respondeu a 36 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Em vez de ver um programa como uma única entidade grande e monolítica, o encapsulamento permite que você o divida em várias partes menores e independentes. Cada parte possui implementação e realiza seu trabalho independentemente das outras partes. O encapsulamento mantém essa independência, ocultando os detalhes internos, ou seja, a implementação de cada parte, através de uma interface externa. O encapsulamento permite a visualização de uma entidade de software como uma caixa preta. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás Comentário da postagem de ERIK FERREIRA NUNES Erick Verificar minha mensagem em sua central de mensagens Atentar para o foco do enuncaido do forum, que e a visibilidade dos atributos e metodos de uma classe para que os 3 conceitos sejam implementdos efetivamente. Postagem nao atinge aos objetivos pretendidos Agradeco abs Marcelo --- Em vez de ver um programa como uma única entidade grande e monolítica, o encapsulamento permite que você o divida em várias partes menores e independentes. Cada parte possui implementação e realiza seu trabalho independentemente das outras partes. O encapsulamento mantém essa independência, ocultando os detalhes internos, ou seja, a implementação de cada parte, através de uma interface externa. O encapsulamento permite a visualização de uma entidade de software como uma caixa preta. Aluno (a) ARISTIDES ALMEIDA MONTEIRO DA SILVA respondeu a 36 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. Tal independência tem três vantagens importantes: 1. Independência significa que você pode reutilizar o objeto em qualquer lugar. Quando você encapsular corretamente seus objetos, eles não estarão vinculados a nenhum programa em particular. Em vez disso, você pode usá- los sempre que seu uso fizer sentido. Para usar o objeto em qualquer lugar, você simplesmente exerce sua interface. 2. O encapsulamento permite que você torne transparentes as alterações em seu objeto. Desde que você não altere sua interface, todas as alterações permanecerão transparentes para aqueles que estiverem usando o objeto. O encapsulamento permite que você atualize seu componente, forneça uma implementação mais eficiente ou corrija erros – tudo isso sem ter de tocar nos outros objetos de seu programa. Os usuários de seu objeto se beneficiarão automaticamente de todas as alterações que você fizer. 3. Usar um objeto encapsulado não causará efeitos colaterais inesperados entre os objetos e o restante do programa. Como o objeto tem implementação independente, ele não terá nenhuma outra interação com o restante do programa, além de sua interface. Unidade 6B: Flash utilizando Orientação a Objetos e a linguagem XML. Página 4 1..4 Trrês carractterríísttiicas do encapsullamen Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 35 dias atrás Comentário da postagem de ARISTIDES ALMEIDA MONTEIRO DA SILVA Ola Aristides, Gentileza observar minha mensagem em sua central, antes de nova postagem Nao estamos discutindo conceito de encapsulamento. Se voce ler o enunciado atentamente, vera que o foco a visibilidade dos atributos e metodos de uma classe para que os 3 conceitos sejam implementdos efetivamente. Postagem nao atinge aos objetivos pretendidos Agradeco abs Marcelo --- 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. Tal independência tem três vantagens importantes: 1. Independência significa que você pode reutilizar o objeto em qualquer lugar. Quando você encapsular corretamente seus objetos, eles não estarão vinculados a nenhum programa em particular. Em vez disso, você pode usá- los sempre que seu uso fizer sentido. Para usar o objeto em qualquer lugar, você simplesmente exerce sua interface. 2. O encapsulamento permite que você torne transparentes as alterações em seu objeto. Desde que você não altere sua interface, todas as alterações permanecerão transparentes para aqueles que estiverem usando o objeto. O encapsulamento permite que você atualize seu componente, forneça uma implementação mais eficiente ou corrija erros – tudo isso sem ter de tocar nos outros objetos de seu programa. Os usuários de seu objeto se beneficiarão automaticamente de todas as alterações que você fizer. 3. Usar um objeto encapsulado não causará efeitos colaterais inesperados entre os objetos e o restante do programa. Como o objeto tem implementação independente, ele não terá nenhuma outra interação com o restante do programa, além de sua interface. Unidade 6B: Flash utilizando Orientação a Objetos e a linguagem XML. Página 4 1..4 Trrês carractterríísttiicas do encapsullamen Aluno (a) ANDRÉ GUIMARÃES PAMPLONA respondeu a 35 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Professor, boa tarde. Atributos e métodos são encapsulados em classes visando a proteção e integridade de acesso, a boa classificação de atributose métodos proporciona: reusabilidade, escalabilidade e facilidade de manutenção. O mecanismo de herança permite que subclasses recebam atributos de superclasses e facilita a extensibilidade de um mesmo sistema. O porliformismo tem como principal função facilitar o entendimento do código. Att, André Guimarães Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de ANDRÉ GUIMARÃES PAMPLONA Oi Andre Nao estamos discutuindo os conceitos de encapsulamento, herança e polimorfimos e sim como clssificar os atributos e metodos em termos da vissibildiade, para podermos ter boas classes e reusaveis, como citou. Fala sobre a visbilidade, como ela deve ser, para cad principio. Ok ? Abs Marcelo Aluno (a) FATIMA CRISTINA LAMPA ESTEVES respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Editado por FATIMA CRISTINA LAMPA ESTEVES em 22/05/2014 21:03 ------->1 -----------> Conta1 Saldo receptor mensagem Uma vez que o objeto responde a uma mensagem em função da sua classe, objetos de classes diferentes podem responder de maneira diferente à mesma mensagem. O resultado da expressão a+1 depende da classe de a.Uma vez que a operação + pode ter "varias formas", diz-se polimórfica. O Encapsulamento proíbem os de mexer diretamente nos dados internos de um objeto. Para além disso, temos possibilidades de impor um conjunto de condições que todos os candidatos a instâncias de uma classe terão que obedecer. Ex: conta à ordem saldo teria que ser superior a O(ou a outra qualquer quantidade pré - definida). Às vezes as mensagens têm argumentos. Na expressões conta1 deposita:100 deposita:100 é a mensagem ,deposita é o seletor e 100 é o argumento. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de FATIMA CRISTINA LAMPA ESTEVES Oi Fatima Obrigado por postar Nao estamos discutuindo os conceitos de encapsulamento, herança e polimorfimos e sim como clssificar os atributos e metodos em termos da vissibildiade, para podermos ter boas classes e reusaveis, como citou. Fala sobre a visbilidade, como ela deve ser, para cad principio. Ok ? Abs Marcelo Aluno (a) ALINE PIMENTEL DE ALMEIDA respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Boas noite, O encapsulamento visa proteger os atributos e métodos do acesso direto, garante que a única forma de acesso aos dados é através dos meios disponíveis ao usuário. A herança permite que uma classe herde os métodos e atributos públicos e protegidos de uma outra classe. Polimorfismo refere-se à capacidade de dois ou mais objetos responderem à mesma mensagem, cada um do seu modo. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de ALINE PIMENTEL DE ALMEIDA Oi Aline Obrgado por postar, mas o foco do forum foi desviado. Obseve os comentarios abaixo - Nao estamos discutuindo os conceitos de encapsulamento, herança e polimorfimos e sim como clssificar os atributos e metodos em termos da vissibildiade, para podermos ter boas classes e reusaveis, como citou. Fala sobre a visbilidade, como ela deve ser, para cad principio. Ok ? Abs Marcelo Aluno (a) LIERTE BOURGUIGNON CARDOSO JUNIOR respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Prezado professor boa noite, O encapsulamento dar segurança aos métodos e atributos de uma classe, sua principal função é manter os dados íntegros. Existe níveis de acesso ao determinado encapsulamento os quais são: Public e Protected. Seguindo boas práticas de classificação de atributos e métodos, vamos conseguir dá escalabilidade para o projeto, ou seja, futuras novas funcionalidades poderemos reutiliza-los, diminuindo o tempo de programação. Outro fator que deve ser considerado é a manutenibilidade do sistema, diante de um cenário de problema conseguimos corrigir o problema mais rápido. Outro fator que vale ressaltar é que se os atributos e classes forem corretamente classificados, tornasse mais fácil o uso de herança e polimorfismo, uma vez que herança vai herdar de uma classe mãe os determinados atributos e métodos, ou seja, se começou certo vai terminar certo, agora se os determinados atributos e métodos forem classificados de forma errada, as classes que estão herdando os determinados métodos e atributos terão problemas. De igual forma acontece com o polimorfismo, pois se um método que foi classificado incorretamente for “chamado” teremos um problema. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de LIERTE BOURGUIGNON CARDOSO JUNIOR Ok Lierte Algumas perguntas de ordem pratica - devemos atribuir visibilidade publica aos atributos de uma classe? por que ? - devemos atribuir visbilibildiade privada a TODOS os metodos de uma classe? por que? Abs Marcelo Aluno (a) LIERTE BOURGUIGNON CARDOSO JUNIOR respondeu a 33 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Prezado professor, Para ambas as perguntas vai depender do cenário que estamos inseridos no ambiente de programação. Se estamos inseridos em uma equipe onde temos vários programadores acessando usando uma das nossas classes, devemos definir esta classe como privada. Assim prevenimos o mau uso dos métodos e classes, e gerando futuros prováveis erros. Além de futuros erros, ainda tem o fator de um membro da equipe adaptar a determinada classe ou método ao seu sistema em particular, sendo assim acabamos limitando o uso do mesmo aquele sistema em especifico. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de LIERTE BOURGUIGNON CARDOSO JUNIOR Lierte discordo. Um atributo de uma classe nao deve ser classificado como publuco, pois estaremos ferindo o principio do encapsulamento, que diz que os atributos, privados devems ser acessados pelos metodos da propria classe. Abs Marcelo Aluno (a) WILLIAM BENTO AGÁPITO DE FREITAS respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Devemos usar a classificação de viabilidade para uma melhor organização do código, controlando todos os seus atributos e métodos. Temos como principais tipos de visibilidade: private, public e protected private: Atributos ou métodos declarados como private só podem ser acessados dentro do escopo da própria classe em que foram declarados. protected: Somente podem ser acessadas dentro da própria classe ou descendentes (herdadas) . public: podem ser acessados de forma livre Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de WILLIAM BENTO AGÁPITO DE FREITAS Sim, Willian Mas deixe claro como devemos classificar atributos e metodos de uma classe, para garantir os 3 principios. Diga quando e como usar publuco, privado e protegido para atributos e metodos de uma classe Abs Marcelo Aluno (a) PAULO CESAR VIEIRA MONTEIRO respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Boa noite Prof. MARCELO VASQUES DE OLIVEIRA, Há uma relação entre os caracteres de encapsulamento, herança e polimorfimo. O encapsulamento é para controlar o acesso a atributos e métodos, através de uma interface bem definida. A herança é capaz de obter derivações de outras, ou sejam a 2ºderivada 1ª. Já o polinorfismo. é o principio do significado de muitas formas e também uma superclasse em uma híerarquia. O atributo é classificado em public podendo ser acessado de qualquer parte da classe e o método é classificado como private, podendo ser acessado dentro da própria classe. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 diasatrás Comentário da postagem de PAULO CESAR VIEIRA MONTEIRO Oi Paulo Cesar, Nao estamos discutuindo os conceitos de encapsulamento, herança e polimorfimos e sim como clssificar os atributos e metodos em termos da vissibildiade, para podermos ter boas classes e reusaveis, como citou. Fala sobre a visbilidade, como ela deve ser, para cad principio. Ok ? Quando pode ou nao ser publico e privado e quando deve ser protegido Abs Marcelo Aluno (a) LEONARDO AMARO DO NASCIMENTO respondeu a 33 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Baseado nos conceitos de encapsulamento, herança e polimorfismoo, o paradigma da OO representa uma forma evolucionária de pensar e desenvolver software, trazendo inúmeros benefícios à criação de programas, dentre os quais o mais notável é a reutilização de código, que reduz drasticamente os tempos de desenvolvimento e manutenção de programas. Dentro dessa ideia, não podemos usar um em detrimento ao outro, senão enfraquecemos a OO e desta forma dificultamos a manutenção e desenvovimento de novas implementações nos programas. Como exemplo do que não podemos realizar está na abordagem de "afrouxar" o encapsulamento para favorecer a herança e/ou o polimorfismo de um atribiuto ou método de uma classe, onde podemos acarretar problemas em toda a cadeia de desenvolvimento do programa. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de LEONARDO AMARO DO NASCIMENTO Leonardo 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) BRUNO TIBURCIO SILVARES respondeu a 32 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Boa noite Professor e amigos de turma, Em se tratando dos assusntos decorridos na aula 10, podemos entender que uma boa aplicação e execução na modelagem, trabalhando uma boa visibilidade dos atributos e metodos dentro das classes, traz autonomia para os objetos, protegendo os seus atributos. Tornando visiveis ou não os métodos de acordo com as suas necessidades. Posso dizer que além de casos de necessidade específica, atributos devem ser classificados como "Private", podendo ser conssiderado uma boa pratica de programação. Sendo assim ele só poderá ser acessado de dentro da classe onde foi criado. Diferente de um atributo classificado com Public", que poderá ser acessado de qualquer parte da aplicação, o que é muito perigoso. Pode-se utilizar também da classificação "Protected" que é quando se cria um atributo que pode ser acessado por uma classe amiga definida pela estrutura gen-esp. Abc, Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de BRUNO TIBURCIO SILVARES Bruno 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. Obrigado pela sua postagem, com conceitos coerentes Abs Marcelo Aluno (a) MAX LENIN DOS SANTOS TORRES respondeu a 32 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Boa noite, Professor , a relevância da boa classificação de usabilidade dos atributos , no melhor conceito efetivo usabilidade é um atributo de qualidade que avalia quão fácil uma interface é de usar. A palavra usabilidade refere-se, também, aos métodos de melhoramento da facilidade de utilização durante o processo de criação , o encapsulamento efetivo mantém essa independência, ocultando os detalhes internos, ou seja, a implementação de cada parte, através de uma interface externa, encapsulamento permite a visualização de uma entidade como uma caixa preta, Herança em orientação a objetos é algo simples de se entender, pois assim como um filho herda características do pai uma classe também herda características de uma superclasse, quando ao polimorfismo objeto genérico que pode em qualquer momento assumir uma forma específica. Max Torres Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de MAX LENIN DOS SANTOS TORRES Max 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) MAX LENIN DOS SANTOS TORRES respondeu a 32 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Boa noite, vejo que a herança e muito importante para a boa hierarquia dos dados, e das funções, sabendo que nas rotinas devemos tratar todas as vinculações no código correspondente a sua herança ou método, as classes por sua vez são um conjunto de vários métodos, estes são utilizados para melhorar as rotinas e desempenho do sistema, dentro do conceito de polimorfismo vemos duas ou mais classes distintas no entanto tem métodos de mesmo nomes, e o encapsulamento mantem a independência , ocultando os detalhes internos, ou seja, a implementação de cada parte , através de uma interface externa. Max Torres Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de MAX LENIN DOS SANTOS TORRES Max Nao analisou sob a ótica da visbilidade coerente para que cada principio em questão fosse implementada com efetividade abs Marcelo Aluno (a) OZIAS FERREIRA DA SILVA respondeu a 32 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA 1 - Encapsulamento é a maneira pelo qual se protege dados e métodos de uma classe, que só será efetiva se o nível de isolamento for o maior possível. Protegido - Quando um método ou atributo é especificado como protected ele é visível por todas as classes que estão na estrutura GEN-ESP. Privado - É a condição de criação de um método ou atributo significa que só podem ser usados dentro da classe onde estão especificados 2 - Se tive o entendimento correto, o nível de isolamento “PROTEGIDO” permite a herança e o “PRIVADO” o polimorfismo. A herança permite criar novas classes a partir de classes já existentes, aproveitando características existentes na classe a ser estendida. Com a herança é possível criar classes derivadas, subclasses, a partir de classes bases, superclasses. 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. Fonte: http://www.devmedia.com.br/encapsulamento-polimorfismo-heranca-parte-01/12991 Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de OZIAS FERREIRA DA SILVA Ozias 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órunstemáticos. Orbiagdo por sua participacão Abs Marcelo Aluno (a) LUCAS GARCIA TEIXEIRA respondeu a 34 dias atrás Boa noite professor e colegas, Professor confesso que estou com um pouco de dificuldade para entender algumas coisas com relação à esse capítulo, mas pesquisando pude verificar que a dimensão estrutural dos atributo e métodos está baseada no aspecto estático ou passivo. Está relacionada com a estrutura estática dos objetos que formam o Sistema. Ela inclui a identidade de cada objeto, sua classificação, seu encapsulamento (atributos e operações) e seus relacionamentos estáticos (hierarquias de heranças, agregados, composição e associações específicas). A utilização da herança torna-se fácil com o polimorfismo. Significa que uma operação pode comportar-se de modo distinto em distintas classes tendo o mesmo nome de método. Em termos práticos, o polimorfismo permite referir-se a objetos de diferentes classes por meio do mesmo elemento de programa e realizar a mesma operação de forma diferente, de acordo com o objeto a que se faz referência em cada momento. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de LUCAS GARCIA TEIXEIRA Oi Lucas Obriagdo por postar Nao estamos discutuindo os conceitos de encapsulamento, herança e polimorfimos e sim como clssificar os atributos e metodos em termos da vissibildiade, para podermos ter boas classes e reusaveis, como citou. Fala sobre a visbilidade (PUBLICA, PROTEGIDA E PRIVADA) como ela deve ser, para cad principio. Ok ? Abs Marcelo Aluno (a) LUCAS GARCIA TEIXEIRA respondeu a 34 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA Boa tarde professor, Entendi!Com relação ao solicitado entendo que quando uma classe herda outra, os membros da classe base são incorporados como membros da classe derivada. Devido à separação das classes e do controle de acesso às variáveis em cada classe, devemos pensar como as restrições de acesso são gerenciadas em classes diferentes, principalmente o acesso a membros da classe base a partir das classes derivadas.O acesso dos membros da classe base à classe derivada é determinado pelo especificador de acesso: public, private e protected. O private temos a opção de não explicitar o especificador de acesso. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de LUCAS GARCIA TEIXEIRA Lucas E para garantir o encapsulamento, o mais basico e primeiro a ser atendido. Como fazer ? - resp: atributos privados ou protegidos, sendo acessados por metodos publicos ou protegidos Abs Marcelo Aluno (a) ALINE PIMENTEL DE ALMEIDA respondeu a 34 dias atrás Os atributos devem ser classificados como private, conforme as normas de programação. Caso seja classificado como público, este ficará visível para todo o código. Um método private só poderá ser acessado dentro da classe onde foi criado. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 34 dias atrás Comentário da postagem de ALINE PIMENTEL DE ALMEIDA Aline E qual problema de termos atributos publicos ? Abs Marcelo Aluno (a) RODRIGO DE SOUZA LINS respondeu a 33 dias atrás Comentário da postagem de Corpo Docente: MARCELO VASQUES DE OLIVEIRA O atributo publico se torna vulneravel a um estado não esperado pela classe interna, ao declararmos os atributos como privados nos delgamos as alterações extermas quando permitidas atraves de metodos publicos que permitem atualizar outros aspectos do objeto quando o valor do atributo é acessado. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de RODRIGO DE SOUZA LINS Rodrigo Obrigado pela participação. atrubuto publico fere o principio do encapsulamento Abs Marcelo Aluno (a) ALINE PIMENTEL DE ALMEIDA respondeu a 33 dias atrás Boa noite, Uma boa prática é utilizar private nos atributos, pois se tratam de dados internos. Caso seja preciso o acesso externo, o uso de métodos (get e set) mantém o controle da classe (para validação, por exemplo). Para os métodos que não devem ser acessados externamente, deve-se utilizar protected. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de ALINE PIMENTEL DE ALMEIDA Aline 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, Obrigado pela postagem Abs Marcelo Aluno (a) ALINE PIMENTEL DE ALMEIDA respondeu a 33 dias atrás Visibilidades: private: Atributos ou métodos declarados como private só podem ser acessados dentro do escopo da própria classe em que foram declarados. protected: Atributos ou métodos declarados com protected somente podem ser acessadas dentro da própria classe ou a partir de classes descendentes (herdadas). public: Atributos ou métodos como public podem ser acessados de forma livre, a partir da própria classe, a partir de classes descendentes e a partir de programas que fazem uso dessa classe. Professor (a) MARCELO VASQUES DE OLIVEIRA respondeu a 31 dias atrás Comentário da postagem de ALINE PIMENTEL DE ALMEIDA Aline teria que analisar essas visibilidades, enfatizando como classificar aributos e metodos para manter cada principio efetivo. Abs Marcelo Para Você Central de Mensagens Certificados Histórico Onde Ir Home Disciplinas Busca Avançada LMS webAula Versão 4.0. © Direitos Autorais Reservados. Mapa do Site webAula
Compartilhar