SóProvas


ID
2200537
Banca
FCM
Órgão
IF Farroupilha - RS
Ano
2016
Provas
Disciplina
Engenharia de Software
Assuntos

Com base na representação de uma classe em Unified Modeling Language (UML) apresentada abaixo,


Classe

+ attr1: int

+ attr2: String

+ Operation1(a: booleano): double

# Operation2()


é correto afirmar que:

Alternativas
Comentários
  • Só para lembrar:

    + public

    # protected

    - private

  • Analise das opções:

    a)  O método Operation2 é privado. Errado - Sinal # visibilidade protected é acessível à classe e a suas subclasses

    b) O método Operation1 é público. Correto - Sinal (+) public: Quem tem acesso à classe tem acesso também a qualquer membro

    c) Os atributos attr1 e attr2 são ambos privados. Errado Sinal (+) significa pública

    d) Os métodos Operation1 e Operation2 são ambos públicos. Errado - Operation1 (public) e Operation2 (protected)

    e)  O símbolo subtração (-) deveria ser utilizado em troca do símbolo adição (+) antes do atributo attr2, caso se quisesse indicar que se trata de um atributo protegido. Errado troca dos simbolos mudaria o atributo de protegido para publico.

  • Rezando para cair uma questão assim na minha prova! kkkk

  • Modificadores de Visibilidade na UML

    :: Público + (public em Java)

                                O elemento é visível por qualquer classe

     

    :: Protegido # (protected)

                                O elemento é visível na própria classe e pelas subclasses da classe

                                CUIDADO:

    x Em UML: é um pouco mais restritivo que em Java. Se uma classe do pacote que tem a classe com o elemento protegido tentar enxergar esse elemento protegido ela não vai conseguir a não ser que ela seja uma subclasse desta classe. # = herança

    x Em Java: O modificador protected torna o membro acessível às classes do mesmo pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados. (é visto pela classe, pelas classes do mesmo pacote e pelas subclasses mesmo se não estiverem no mesmo pacote). Protected = pacote + herança

     

    :: Pacote ~ (default em Java. Este modificador não tem símbolo em Java)

                                O elemento é visível apenas pela própria classe ou dentro do pacote onde a classe está localizada

     

    :: Privado – (private em Java)

                                O elemento é visível apenas pela própria classe.

  • Quem não tem acesso:  - -> B