Ciência da Computação Software Programação Programação Orientada a Objetos

A afirmativa I refere-se à Programação Estruturada (PE) e a afirmativa II refere-se à Programação Orientada a Objetos (POO). A alternativa que traz as duas afirmativas verdadeiras é:
  • A. I − Em linguagens estruturadas, como o Assembly, o programador sempre cria códigos de difícil leitura, pois nesse tipo de linguagem os saltos (jumps) estão sempre presentes.

    II − A POO provê uma melhor organização do código e contribui para o reaproveitamento de código, mas seus conceitos são de difícil compreensão se comparados aos conceitos da PE.
  • B. I − A PE possibilita que o programador tenha maior controle sobre o fluxo de execução do programa. Para isso, pode utilizar estruturas de sequência, estruturas de decisão e estruturas de repetição.

    II − Os métodos definem o comportamento dos objetos, tendo seus nomes normalmente definidos por verbos. Para uma classe Pessoa, por exemplo, poderia haver os métodos comprar, vender e alugar.
  • C. I − Uma característica da PE são os saltos (jumps), que funcionam da seguinte forma: o programador define um label no código e depois, a partir de qualquer parte do programa, ele pode executar um desvio de fluxo de execução para aquele label, mediante a avaliação positiva de uma condição.

    II − Classe é o molde para criar objetos. Possui todas as especificações de um grupo deles. As interfaces definem características de objetos, por exemplo, uma classe Pessoa pode ter as interfaces Nome, Endereço e Telefone.
  • D. I − A depuração de um código com muitos labels e saltos (jumps), dificulta o entendimento do fluxo de execução de um programa estruturado.

    II − Herança é a capacidade de criar classes a partir de uma superclasse. Essas classes herdam, então, todas as características da superclasse. Encapsulamento é o princípio pelo qual uma classe sobrescreve um comportamento herdado de sua superclasse.
  • E. I − A PE baseia-se no que deve ser feito e não em como a tarefa deve ser feita. Tende a gerar códigos em que os tratamentos dos dados são misturados com o comportamento do programa.

    II − Polimorfismo é a habilidade de esconder de outros objetos, as características intrínsecas de um dado objeto. Toda a comunicação entre objetos deve ser realizada através de interfaces. Um objeto não deve ser capaz de acessar nem alterar métodos de outro objeto diretamente.