J'ai donc commencer le développement d'un petit soft qui va faire cela à ma place. Et partage ce dernier
Remarque:
Le code obtenu respecte les normes Poo au point de vue d'encapsulation, il ne gère ni l'héritage ni le polymorphisme. Pour tirer pleinement parti des ce petit logiciel, il est préférable de faire une analyse du projet de type "uml" pour ainsi concevoir la structure de toutes les classes et méthodes.
current version: BETA 1.1 Dowload
GITHUB
Voici ce qu'il fait
Exemple de code obtenu
Code : Tout sélectionner
Interface Country
getName.s()
getId.i()
setName(name.s)
setId(id.i)
free()
teste(name.s)
EndInterface
Code : Tout sélectionner
DeclareModule Country
Declare new(name.s,id.i)
EndDeclareModule
Module Country
;-* PRIVATE MEMBERS
Structure _country
*Country_METHODS
name.s
id.i
EndStructure
;}
;-* GETTERS
Procedure.s getName(*this._country)
With *this
ProcedureReturn \name
EndWith
EndProcedure
Procedure.i getId(*this._country)
With *this
ProcedureReturn \id
EndWith
EndProcedure
;}
;-* SETTERS
Procedure setName(*this._country,name.s)
With *this
;TO DO: write your code here to verify the attribute
\name=name
ProcedureReturn #True
EndWith
EndProcedure
Procedure setId(*this._country,id.i)
With *this
;TO DO: write your code here to verify the attribute
\id=id
ProcedureReturn #True
EndWith
EndProcedure
;}
;-* CONSTRUCTOR
Procedure new(name.s,id.i)
Protected *this._country = AllocateStructure(_country)
With *this
If Not setName(name) : ProcedureReturn #False : EndIf
If Not setId(id) : ProcedureReturn #False : EndIf
\Country_METHODS = ?METHODS
ProcedureReturn *this
EndWith
EndProcedure
;}
;-* DESTRUCTOR
Procedure free(*this._country)
ClearStructure(@_country,*this)
EndProcedure
;}
;-* PUBLIC METHODS
Procedure teste(*this._country,name.s)
; TO DO: write your code here
EndProcedure
;}
DataSection
METHODS:
Data.i @getName()
Data.i @getId()
Data.i @setName()
Data.i @setId()
Data.i @teste()
EndDataSection
EndModule