Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2015
lugabame lugabame is offline
Registrado
 
Registrado: Apr 2007
Posts: 9
Poder: 0
lugabame Va por buen camino
Aclaración sobre Herencia de Clases

Hola a todos después de mucho tiempo vuelvo, y aunque tarde feliz año nuevo jejejejeje
Bueno el asunto que me trae es si alguien me podría brindar un ejemplo donde una clase herede atributos de otra clase, porque tengo un diagrama de clases donde tengo una herencia y no se como pasarla a delphi.

De antemano muchas gracias.
Responder Con Cita
  #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: 15
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
  #3  
Antiguo 14-01-2015
lugabame lugabame is offline
Registrado
 
Registrado: Apr 2007
Posts: 9
Poder: 0
lugabame Va por buen camino
Muchas Gracias por la Aclaración

nlsgarcia Te agradezco de corazón por la ayuda me vino como añillo al dedo, muy claro y muy didáctico.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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:45:31.


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