Estratégia de POO para software usando objetos

Imagine que você tivesse de desenvolver um programa OO para implementar um carrinho de compras on-line ou um terminal de ponto de vendas. Um programa OO conterá os objetos item, carrinho de compras, cupom e caixa. Cada um desses objetos vai interagir uns com os outros para orientar o programa. Por exemplo, quando o caixa totalizar um pedido, ele verificará o preço de cada item.

Definir um programa em termos de objetos é uma maneira profunda de ver o software. Os objetos o obrigam a ver tudo, em nível conceituai, do que um objeto faz: seus comportamentos. Ver um objeto a partir do nível conceituai é um desvio da observação de como algo é feito: a implementação. Essa mentalidade o obriga a pensar em seus programas em termos naturais e reais. Em vez de modelar seu programa como um conjunto de procedimentos e dados separados (termos do mundo do computador), você modela seu programa em objetos. Os objetos permitem que você modele seus programas nos substantivos, verbos e adjetivos do domínio de seu problema.

Novo Termo A implementação define como algo é feito. Em termos de programação, implementação é o código.

Novo Termo O domínio é o espaço onde um problema reside. O domínio é o conjunto de conceitos que representam os aspectos importantes do problema que você está tentando resolver.

Quando recua e pensa nos termos do problema que está resolvendo, você evita se emaranhar nos detalhes da implementação. É claro que alguns de seus objetos de alto nível precisarão interagir com o computador . Entretanto, o objeto isolará essas interações do restante do sistema. (O Dia 2, “Encapsulamento: aprenda a manter os detalhes consigo mesmo”, explorará melhor essas vantagens.)

Nota: Em termos do carrinho de compras, ocultação de implementação significa que o caixa não vê dados brutos ao totalizar um pedido. O caixa não sabe procurar, em certas posições de memória, números de item e outra variável para um cupom. Em vez disso, o caixa interage com objetos item. Ele sabe perguntar quanto custa o item.

Neste ponto, você pode definir objeto formalmente:

Novo Termo Um objeto é uma construção de software que encapsula estado e comportamento. Os objetos permitem que você modele seu software em termos reais e abstrações.

Rigorosamente falando, um objeto é uma instância de uma classe. A próxima seção apresentará o conceito de classe.

Assim como o mundo real é constituído de objetos, da mesma forma o é o software orientado a objetos. Em uma linguagem de programação OO pura, tudo é um objeto, desde os tipos mais básicos, como inteiros e lógicos, até as instâncias de classe mais complexas; nem todas as linguagens orientadas a objeto chegam a esse ponto. Em algumas (como o Java), primitivas como i nt e f 1 oat, não são tratadas como objetos.

ATIVIDADE DE FIXAÇÃO

Comentários

Postagens mais visitadas deste blog

Conceitos de Linguagens de Programação e POO

Comparação entre programação estruturada e a POO

Vantagens e desvantagens da linguagem Java