Diferencia entre revisiones de «Programación en Pascal/Los objetos y las clases»

Contenido eliminado Contenido añadido
Facon (discusión | contribs.)
Sin resumen de edición
Facon (discusión | contribs.)
Línea 67:
 
== Ejemplos ==
 
'''UEsfera.pas:'''
 
<source lang=pascal>Unit UEsfera;
 
{$mode delphi}
 
Interface
 
type TEsfera = class
radio : real;
centrox : real;
centroy : real;
centroz : real;
Constructor Create;
Function Superficie : real;
Function Volumen : real;
Procedure Visualizar;
end;
 
Implementation
 
Constructor TEsfera.Create;
begin
radio := 0;
centrox := 0;
centroy := 0;
centroz := 0;
end;
 
Function TEsfera.Superficie : real;
begin
result := 4*3.1416*Radio*Radio*Radio;
end;
 
Procedure TEsfera.Visualizar;
begin
writeln('Radio=', radio:0:2, ' Centro X=', centrox:0:2, ' Centro Y=', centroy:0:2, ' Centro Z=', centroz:0:2);
end;
end.</source>
 
'''Programa.pp:'''
 
<source lang=pascal>Program Esfera;
 
{$mode delphi}
 
uses UEsfera;
 
var
Esfera1 : TEsfera;
r, cx, cy, cz : real;
 
begin
repeat
write('Introducir radio mayor o igual que 0: ');
readln(r);
until(r>=0);
write('Introducir coordenadas x, y, z desde el centro: ');
readln(cx, cy, cz);
Esfera1 := TEsfera.Create;
Esfera1.radio := r;
Esfera1.centrox := cx;
Esfera1.centroy := cy;
Esfera1.centroz := cz;
Esfera1.Visualizar;
writeln('Superficie=', Esfera1.Superficie:0:2);
writeln('Volumen=', Esfera1.Volumen:0:2);
end.</source>