OOP em [x]Harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Endrigo Rodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 35
Registrado em: 27 Fev 2009 01:30
Localização: Belo Horizonte/MG

OOP em [x]Harbour

Mensagem por Endrigo Rodrigues »

Olá.

Gostaria de saber como fazer Herança, Polimorfismo e Encapsulamento em Harbour ou xHarbour.

Se alguém puder citar exemplos e como fazer isso em algumas IDEs, agradeço.
Imagem
Endrigo Rodrigues
Fantastsoft Sistemas
Avatar do usuário
vailton
Colaborador
Colaborador
Mensagens: 390
Registrado em: 17 Nov 2005 19:08
Localização: Brasil
Contato:

Re: OOP em [x]Harbour

Mensagem por vailton »

Isto vai pelo compilador e não pela IDE... vc conseguiria montar um programa visual inteiro via comandos de programação sem usar uma unica IDE. O que importa é o compilador e por falar nele o Harbour oferece suporte à classes usando a compatibilidade com a Class(y) antiga lib do clipper que oferecia suporte OOP.

Inclusive para vc poder "abrir" um pouco mais a sua mente, é possível criar uma ou mais classes OOP sometne usando as funções de manipulação de classes oferecidas (mas aÊ é coisa de hacker e ñ vale a pena)...

Este exemplo mostra como usar HERANÇA com HB (clasinh.prg) :

Código: Selecionar todos

#include "hbclass.ch"

function main()
   local oObject, oBase
   oObject := TAnyClass():New()
   oBase := TClassBase():New()
return nil

class TClassBase
   method New()
   method Test() INLINE Alert( "Test" )
endclass

method New() class TClassBase
return Self

class TAnyClass from TClassBase
   method New()
endclass

method New() class TAnyClass
   super:New()
   super:Test()
return Self
E sobre há ainda mais alguns interessantes na pasta tests:
* clsscope.prg -> demonstration/test code for class method scoping
* clsnv.prg --> demonstration/test code for non virtual hidden messages

Vailton Renato
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"

E-mail/MSN: contato@vailton.com.br
Skype: vailtom
Endrigo Rodrigues
Usuário Nível 1
Usuário Nível 1
Mensagens: 35
Registrado em: 27 Fev 2009 01:30
Localização: Belo Horizonte/MG

Re: OOP em [x]Harbour

Mensagem por Endrigo Rodrigues »

Interessante Vailton. Mas existe alguma IDE que trabalha com isso, ou tenho que fazer tudo na mão?

Por exemplo: Criar um formulário base de cadastros contendo alguns controles e utilizar herança desse formulário.


Obrigado pelas explicações, vou baixar o Harbour e realizar os testes que me passou.
Imagem
Endrigo Rodrigues
Fantastsoft Sistemas
Avatar do usuário
vailton
Colaborador
Colaborador
Mensagens: 390
Registrado em: 17 Nov 2005 19:08
Localização: Brasil
Contato:

Re: OOP em [x]Harbour

Mensagem por vailton »

Me parece que na MiniGUI existem 1 ou mais opções de IDE (os amigos do forum poderão me corrigir sobre isto), a hwGUI possui o DESIGNER para montar as telas, lembro-me que a xHGtk tinha a opção de usar o GLADE como IDE... ou seja, existem bastante opções é só vc testar e ver em qual vc se adapta melhor.
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"

E-mail/MSN: contato@vailton.com.br
Skype: vailtom
Responder