TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

PROGRAMA ESTRUTURADO CONTRA A PROGRAMAÇÃO ORIENTADA POR OBJETOS

Projeto de pesquisa: PROGRAMA ESTRUTURADO CONTRA A PROGRAMAÇÃO ORIENTADA POR OBJETOS. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  22/9/2014  •  Projeto de pesquisa  •  1.325 Palavras (6 Páginas)  •  414 Visualizações

Página 1 de 6

PROGRMAÇÃO ESTRUTURADA VERSUS PROGRAMAÇÃO ORIENTADA A OBJETOS

A Wikipédia define a programação imperativa como um paradigma que descreve a computação como ações (comandos) e estados (variáveis) de um programa. O nome do paradigma, Imperativo, está ligado ao tempo verbal imperativo, onde o programador diz ao computador: faça isso, depois isso, depois aquilo... Este paradigma de programação se destaca pela simplicidade, uma vez que todo ser humano, ao se programar, o faz imperativamente, baseado na ideia de ações e estados, quase com

o um programa de computador.

Programação Estruturada

Em linguagens puramente imperativas, como Assembly, é muito fácil o programador criar códigos de difícil leitura, pois esse tipo de linguagem possui o que se chama de saltos (jumps) em sua estrutura. Estes saltos funcionam da seguinte forma: o programador define uma marcação (label) no código e depois, a partir de qualquer parte do programa, ele pode executar um desvio de fluxo de execução (salto) para aquela marcação. Pode ser que à primeira vista isso não tenha problema, contudo, na depuração do código, o programador fica em apuros com tantas marcações e saltos, pois isso dificulta o entendimento do fluxo de execução do programa.

Neste contexto, surge a programação estruturada, como uma forma de possibilitar que o programador tenha maior controle sobre sobre o fluxo de execução do programa. Para isso, segundo a Wikipédia, qualquer programa pode ser reduzido a 3 estruturas:

1. Estruturas de sequência: Onde uma tarefa é executada após a outra, linearmente.

2. Estruturas de decisão: Onde, a partir de um teste lógico, determinado trecho de código é excutado, ou não.

3. Estruturas de iteração: Onde, a partir de um teste lógico, determinado trecho de código é repetido por um número finito de vezes.

No trecho de código Python a seguir, podemos reparar o emprego das três estruturas citadas. Nas linhas 1, 2 e 3 temos um exemplo de uma estrutura de sequência. Cada linha é executada após a anterior, começando da primeira. Entre as linhas 5 e 9, temos uma estrutura de decisão, exemplificada pelo comando if. Na linha 5 este comando executa um teste lógico. Caso o valor seja verdadeiro, as linhas 6 e 7 serão executadas. Caso contrário, o fluxo se desvia para a linha 8, que executará a linha 9. Nas linhas 6 e 7, temos uma estrutura de iteração. Na linha 6 está declarada a estrutura, que regula quantas vezes a linha 7 será executada.

print "Tabuada!"

a = int(raw_input("Entre com a tabuada que deseja [0-9]: "))

print # Apenas para deixar uma linha em branco.

if 0 <= a <= 9:

for i in range(10):

print "%d x %d = %.2d" % (a, i, a * i)

else:

print "Entre ZERO e NOVE!"

Listagem 1. Exemplo de código estruturado.

Vantagens

• Provê um melhor controle sobre o fluxo de execução do código, quando comparada com a programação imperativa.

• É fácil de se entender, sendo amplamente usada em cursos introdutórios de programação.

Desvantagens

• Ainda se foca em como a tarefa deve ser feita e não em o que deve ser feito.

• Tende a gerar códigos confusos, onde tratamento dos dados são misturados com o comportamento do programa.

Programação Orientada a Objetos

Uma das desvantagens da programação estruturada, como foi citado, é a tendência em gerar códigos onde tratamentos de dados são misturados com o comportamento do programa. Além disso, caso o programador quisesse criar um programa semelhante a um que já tivesse feito, era complicado pegar determinadas partes deste programa já pronto e trazer para o novo projeto, uma vez que eram necessárias, na maior parte das vezes, realizar mudanças substanciais no código.

Neste cenário surgiu a Programação Orientada a Objetos (POO – lê-se Pê-Ó-Ó). Ela foi criada para tentar simular o mundo real dentro do computador e para isso utiliza objetos. Desta forma, fica a cargo do programador modelar objetos e a interação entre eles. Essa modelagem leva em consideração alguns conceitos, dentre os principais, pode-se citar:

• Classe: É o molde para criar objetos. Possui todas as especificações de um grupo deles. Ex.: Os objetos Eddie Veddere Kurt Cobain, apesar de serem diferentes, derivam da mesma classe Pessoa.

• Atributos: Definem características de objetos, e.g., a classe Pessoa tem os Atributos Nome, Endereço, Telefone eSexo.

• Métodos: Definem o comportamento dos objetos, tendo seus nomes normalmente definidos por verbos. Para a classePessoa, por exemplo, podem haver os métodos Comprar, Vender e Alugar.

• Abstração: É a habilidade de se concentrar nos principais aspectos de um grupo de objetos, em vez de se preocupar com as suas especificações. Ex.: Para a classe Pessoa são definidas as principais características comuns à maioria das pessoas, sem que haja preocupação especial com objetos muito específicos e, por conseguinte, pouco comuns (e.g., pessoas com dedos a mais ou a menos).

• Encapsulamento: É a habilidade de esconder de outros objetos, as características intrínsecas de um dado objeto. Toda a comunicação inter objetos deve ser realizada via métodos. Um objeto não deve ser capaz de acessar, e tampouco alterar, atributos de outro objeto diretamente.

• Associação: É a habilidade pela qual um objeto utiliza recursos de outro. Por exemplo: Corda é parte de um Violão.

• Herança: É a capacidade de criar subclasses a partir de uma superclasse. Essas subclasses herdam, então, todas as características da superclasse. É normalmente definida como uma associação

...

Baixar como (para membros premium)  txt (8.5 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com