Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 14-01-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
lugabame,

Cita:
Empezado por lugabame
...alguien me podría brindar un ejemplo donde una clase herede atributos de otra clase...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Math, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  // Clase Matemática Base
  TMatBas = class
  public
     MsgUser : String;
     function SumNum(N1, N2 : Double) : Double;
     function SubNum(N1, N2 : Double) : Double;
     function MulNum(N1, N2 : Double) : Double;
     function DivNum(N1, N2 : Double) : Double;
  end;

  // Clase Matemática que Hereda de TMatBas
  TMatAdv = class(TMatBas)
  public
    function SinNum(N1 : Double) : Double;
    function CosNum(N1 : Double) : Double;
    function TanNum(N1 : Double) : Double;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Método Suma
function TMatBas.SumNum(N1, N2: Double): Double;
begin
   Result := N1 + N2;
end;

// Método Resta
function TMatBas.SubNum(N1, N2: Double): Double;
begin
   Result := N1 - N2;
end;

// Método Multiplicación
function TMatBas.MulNum(N1, N2: Double): Double;
begin
   Result := N1 * N2;
end;

// Método División
function TMatBas.DivNum(N1, N2: Double): Double;
begin
   Result := N1 / N2;
end;

// Método Seno
function TMatAdv.SinNum(N1: Double): Double;
begin
   Result := Sin(N1);
end;

// Método Coseno
function TMatAdv.CosNum(N1: Double): Double;
begin
   Result := Cos(N1);
end;

// Método Tangente
function TMatAdv.TanNum(N1: Double): Double;
begin
   Result := Tan(N1);
end;

// Cálculo de Funciones Matemáticas por Medio de Herencia
procedure TForm1.Button1Click(Sender: TObject);
var
   N1, N2 : Double;
   M : TMatAdv;  // Declarar variable de clase

begin

   M := TMatAdv.Create; // Instanciar variable de clase

   N1 := StrToIntDef(Edit1.Text,0);
   N2 := StrToIntDef(Edit2.Text,0);

   // Uso de la variable de clase M por medio de funciones y atributos

   M.MsgUser := 'Ejemplo de Cálculo de Funciones Matemáticas por Medio de Herencia';

   ShowMessage(M.MsgUser);

   ShowMessage(Format('N1 + N2 = %n',[M.SumNum(N1,N2)]));
   ShowMessage(Format('N1 - N2 = %n',[M.SubNum(N1,N2)]));
   ShowMessage(Format('N1 * N2 = %n',[M.MulNum(N1,N2)]));
   ShowMessage(Format('N1 / N2 = %n',[M.DivNum(N1,N2)]));
   ShowMessage(Format('Sin(N1) = %n',[M.SinNum(N1)]));
   ShowMessage(Format('Cos(N1) = %n',[M.CosNum(N1)]));
   ShowMessage(Format('Tan(N1) = %n',[M.TanNum(N1)]));

   // Liberar variable de clase M
   M.Free;

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, ejemplifica la herencia de clases por medio de funciones matemáticas.

Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Clases y Herencia en PHP salvica PHP 3 15-04-2011 21:06:12
¿Cómo puedo implementar clases,herencia,poliformismo en Delphi con ejemplos? Master23 Varios 2 21-08-2010 18:58:22
Aclaración sobre liberar la memoria r1d2m3 OOP 4 03-12-2009 17:37:19
Clases y herencia dec HTML, Javascript y otros 1 16-01-2007 10:53:36
aclaracion sobre DLL maruenda Varios 1 14-09-2004 22:48:07


La franja horaria es GMT +2. Ahora son las 13:03:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi