Programação (III) - Programação Orientada a Objetos (POO)

Este é o terceiro artigo da série sobre programação e vamos falar aqui sobre POO, que não é a melhor coisa do mundo, mas é o melhor que já vi para a programação nestes meus 25 anos no ramo.

[ Hits: 52.531 ]

Por: Edvaldo Silva de Almeida Júnior em 04/07/2008 | Blog: http://emeraldframework.net


Herança



Aqui está uma das maiores forças da POO: a capacidade de transmitir lógica de uma classe para outras através a herança.

Com isso fazemos com que nosso código seja melhor aproveitado, mais sintético e menos sujeito a erros. E quando os erros ocorrem, sabemos melhor onde encontrá-los.

Mas como estender uma classe? Simples! Vamos criar uma classe Cadeira, derivada da nossa classe Sentável.

#ifndef __CADEIRA_H__
#define __CADEIRA_H__

#include "sentavel.h"

class Cadeira : Sentavel {

      public:

   Cadeira( int, int, bool );
   ~Cadeira();

   bool tem_rodinhas();

      private:

        bool rodinhas;

   void set_rodinhas( bool );
   bool get_rodinhas();

};


#endif

Observe que não nos preocupamos em definir as funções que especificam o número de pernas e assentos da cadeira. Como ela descende de Sentavel, herdará essas funções!

Fantástico, não é? Codificamos apenas em Sentável e podemos espalhar aquelas funções em diversos lugares, definindo diversos objetos dentro do nosso sistema.

Da mesma forma que temos Cadeira descendendo de Sentável, poderíamos ter Sofá, Divã e até Puff! E não precisaríamos implementar tudo novamente, reinventando a roda a cada dia.

Isso fica ainda mais poderoso se levarmos em conta que nos domínios dos problemas práticos, lidamos com categorias de objetos que tem muitas formas e funcionalidades em comum. Por exemplo, um Cliente e um Fornecedor em um sistema são entidades diferentes, mas se pensarmos neles como pessoas, poderemos ter:

class Pessoas {

}

class Clientes : Pessoas {

}

class Fornecedor : Pessoas {

}

Colocando em Pessoas todas as coisas comuns, como por exemplo um endereço, evitaríamos a codificação dobrada nas duas classes herdeiras.

Página anterior     Próxima página

Páginas do artigo
   1. O Gênesis
   2. Um pouco de Filosofia
   3. POO
   4. Classe
   5. Implementação
   6. Revisando a implementação
   7. Escopo e Encapsulamento
   8. Instância (Objetos, finalmente!)
   9. Herança
   10. Polimorfismo
   11. Referências e conclusão
Outros artigos deste autor

Programação (II) - Modularização

KDE em um PC "primitivo"

Instalando o Dynebolic sem instalador

Sobre a aceitação do Software Livre no mercado

Afinal, qual a melhor distribuição?

Leitura recomendada

Sabayon 5.0 - Uma nova distro multimídia (parte 1)

Convertendo sistemas físicos em máquinas virtuais

Um kiosk web para consultas

ArchLinux, uma distro de expressão aqui no VOL

Crie seu próprio repositório YUM no CentOS 4 e 5

  
Comentários
[1] Comentário enviado por gabriel.av em 05/07/2008 - 20:30h

Olha eu achei isso muito importante flw

[2] Comentário enviado por ssdeassis em 05/07/2008 - 21:56h

esperei muito pela terceira parte do artigo continua muito bom como os dois primeiros tenho aprendido muito com a sua série de artigos. Agora vamos ao proximo. Meus parabems.

[3] Comentário enviado por k4mus em 05/07/2008 - 22:37h

Parabens Amigo!!

..vc conseguiu explicar a POO de uma forma agradavel e simples de entender.

Parabens!

[4] Comentário enviado por f_Candido em 06/07/2008 - 14:46h

Muito bom. Parabéns. Bem Simples e Direto.

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts