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: 50.810 ]

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


Implementação



Depois de definida, uma classe precisa ser implementada, ou seja, sua funcionalidade precisa ser detalhada na forma de comandos. Vejamos como seria uma possível implementação da classe Sentável que definimos no tópico anterior.

Seguindo o padrão, essa implementação será colocada em um arquivo chamado sentavel.cpp:

/*
/ sentavel.cpp
/
/ Implementa a classe Sentavel descrita em sentavel.h
/
/ Autor: Ed Lonewolf
/
/ Software Livre
/ Código Aberto:
/
/ Copie, use e depois crie. Explore e depois melhore.
/
*/


#include <stdio.h> include "sentavel.h"

Sentavel::Sentavel( int parAssentos, int parSuportes ) {

   if( parAssentos > 0 ) {
      this->set_assentos( parAssentos );
   } else {
      printf( "Tem  que  ter   pelo  menos   um  assento   para  ser
      Sentável...\n" );
      this->set_assentos( 1 );
   }
   if( parSuportes > 2 ) {
      this->set_suportes( parSuportes );
   } else {
      printf(  "Você é  equilibrista?\nPara equilibrar  tem de  ter ao
      menos 3 pernas...\n" );
      this->set_suportes( 3 );
   }
   this->set_sentantes( 0 );

}


Sentavel::~Sentavel() {

   this->set_assentos( 0 ); this->set_suportes( 0 );

}


void Sentavel::sentar() {

   if( this->get_sentantes() < this->get_assentos() ) {
      this->set_sentantes( this->get_sentantes() + 1 );
      printf( "Pronto, você consegui sentar!\n" );
   } else {
      printf( "Não tá vendo que o lugar está ocupado?\n";
   }
}


void Sentavel::levantar() {
   if( this->get_sentantes() > 0 ) {
      this->set_sentantes( this->get_sentantes() - 1 );
      printf( "Pronto, você está de pé novamente!\n";
   } else {
      printf( "Fumou algo estragado  foi? quem vai levantar se ninguém
      está sentado?\n";
   }

}


void Sentavel::set_assentos( int parAssentos ) {
  
   this->qntAssentos = parAssentos; }


int Sentavel::get_assentos() {

   return( this->qntAssentos );
    
}


void Sentavel::set_sentantes( int parSentantes ) {

   this->qntSentantes = parSentantes

}


int Sentavel::get_sentantes() {

   return( this->qntSentantes );

}


void Sentavel::set_suportes( int parSuportes ) {
  
   this->qntSuportes = parSuportes;

}


int Sentavel::get_suportes() {

   return( this->qntSuportes );

}

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

Software Livre e o Código de Defesa do Consumidor

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

Instalando Slackware "na marra"

Instalando o Dynebolic sem instalador

O "Linux Tinha Chapéu"

Leitura recomendada

VIM avançado (parte 1)

TerminatorX: Linux nas discotecas para os DJs!

Linux, sem exageros

SliTaz GNU/Linux e as ferramentas do sistema

Conseguindo o reembolso da licença do Microsoft Windows

  
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