Página 1 de 1

OOP em [x]Harbour

Enviado: 03 Mar 2009 11:43
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.

Re: OOP em [x]Harbour

Enviado: 03 Mar 2009 12:51
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

Re: OOP em [x]Harbour

Enviado: 03 Mar 2009 13:55
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.

Re: OOP em [x]Harbour

Enviado: 03 Mar 2009 16:19
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.