close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Ticket #730: ticket_7.DerivedClassAsMainClassInstances.tol

File ticket_7.DerivedClassAsMainClassInstances.tol, 908 bytes (added by pgea@…, 16 years ago)
Line 
1
2//////////////////////////////////////////////////////////////////////////////
3
4Class CPrincipal {
5  Real a;
6  Real GetA(Real void){ a }
7};
8
9Class CDerivada : CPrincipal {
10  Real b;
11  Real GetB(Real void){ b }
12};
13
14CPrincipal ej1 = [[Real a = 1]];
15
16CDerivada ej2 = [[Real a = 1; Real b = 2]];
17
18//////////////////////////////////////////////////////////////////////////////
19
20CDerivada CDerivada.New(NameBlock args) {
21  CDerivada new = args
22};
23
24CDerivada ej3 = CDerivada.New([[Real a = 1; Real b = 2]]);
25
26// Si asignamos una referencia a un objeto de CPrincipal con una
27// instancia de una clase derivada (CDerivada) perdemos
28// los métodos (o atributos tipo Code) de la clase derivada.
29
30CPrincipal ej4 = CDerivada.New([[Real a = 1; Real b = 2]]);
31// ej4 no posee los métodos propios de CDerivada
32
33//////////////////////////////////////////////////////////////////////////////