#include "tlpp-core.th"
Class Point
private data x as numeric
private data y as numeric
public method New(x as numeric, y as numeric)
public method getX() as numeric
public method getY() as numeric
EndClass
Class Circle From Point
private data r as numeric
public method New(x as numeric, y as numeric, r as numeric)
public method draw()
EndClass
// Implementando a classe pai Point
/////////////////////////////////////////////////////////////////
method New(x as numeric, y as numeric) class Point
::x := x
::y := y
Return Self
method getX() class Point
Return ::x
method getY() class Point
Return ::y
// Implementando a classe filha Circle
/////////////////////////////////////////////////////////////////
method New(x as numeric, y as numeric, r as numeric) class Circle
_Super:New(x, y) // as coordenadas x e y estão na classe pai Point
::r := r
Return Self
method draw() class Circle
Local x := ::getX() as Numeric // método herdado
Local y := ::getY() as Numeric // método herdado
Conout("Desenhe um círculo de raio " + cValToChar(::r) + " no centro (" + cValToChar(x) + ", " + cValToChar(y) + ")")
Return
// Criando uma função para rodar o exemplo
/////////////////////////////////////////////////////////////////
Function U_Circle()
Local obj as Object
obj := Circle():New(40,12,10)
obj:draw()
Return |