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
  #9  
Antiguo 14-12-2005
liriko liriko is offline
Miembro
 
Registrado: nov 2005
Posts: 27
Poder: 0
liriko Va por buen camino
Question

Hola Roman ¡
Te paso la Unit Biblioteca y le hechas un ojo
Código Delphi [-]
unit Ubiblioteca;
interface
type
  Tipo=(Economia,Deportes,General);//Tipo enunmerado
  TBiblioteca=class //Clase padre
  private
    Editorial:string;
    Dir_Edit:string;
    Per_Contac:string;
    Tlfno:string;
    Poblacion:string[15];
    Provincia:string[15];
  public
    constructor Inicia;
    destructor Destroy;
    procedure Alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov:string);
    procedure Baja;
    procedure Modificacion;
    procedure mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); virtual;
  end;
  TNovela=class(TBiblioteca)//Clase que hereda de Biblioteca
  private
    Autor:string;
    Ano_Public:Integer;
    Nombre_Nov:string;
    ISBN:string;
  public
    constructor Inicia;
    destructor Destroy;
    procedure alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:string;ano_publ:integ  er);
    procedure mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); override;
  end;
  TPrensa=class(TBiblioteca) //Clase que hereda de Biblioteca
  private
    Nombre:string;
    Director:string;
    Ttipo:Tipo;
  public
    constructor Inicia;
    destructor Destroy;
    procedure alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,nom,dir:string; tip:tipo);
    procedure mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); override;
end;
  Thistorica=class(Tnovela)   //Clase que hereda de Novela
  private
    Epoca:string;
    Persona_prin:string;
  public
    constructor Inicia;
    destructor Destroy;
    procedure alta(Epk,per_prin,Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:string;a  no_publ:integer);
    procedure mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); override;
  end;
  Tficcion=class(Tnovela) //Clase que hereda de Novela
  private
    Tema:string;
  public
    constructor Inicia;
    destructor Destroy;
    procedure alta(tem,Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:string;ano_publ:i  nteger);
    procedure mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); override;
  end;
  Tbiografia=class(Tnovela)  //Clase que hereda de Novela
  private
    Personaje:string;
    Autobiografia:boolean;
  public
    constructor Inicia;
    destructor Destroy;
    procedure alta(Pers,Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:string;ano_publ:  integer;Autobio:boolean);
    procedure mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); override;
  end;
implementation
  constructor Tbiblioteca.Inicia; //iniciamos la clase padre
  begin
    inherited create;
  end;
  procedure Tbiblioteca.Alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov:string);
  begin
    Editorial:=Edit;      //cargamos las variables con los valores que le pasamos
    Dir_Edit:=Dir_Editorial;
    Per_Contac:=Persona_Contact;
    Tlfno:=telefono;
    Poblacion:=Poblac;
    Provincia:=Prov;
  end;
  procedure Tbiblioteca.Baja;        //procedimiento baja
  begin
  end;
  procedure Tbiblioteca.Modificacion;    //procedimiento para modificar
  begin
  end;
  procedure Tbiblioteca.mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean); //procedimiento para mostrar
  begin
      Editorial1:=Editorial;      //cargamos las variables con los valores que le pasamos
      Dir_edit1:=Dir_Edit;
      Per_contac1:=Per_Contac;
      tlfno1:=Tlfno;
      Poblacion1:=Poblacion;
      provincia1:=Provincia;
  end;
  destructor Tbiblioteca.Destroy;  //destruimos la clase padre Tbiblioteca
  begin
    inherited destroy;
  end;

  constructor Tprensa.Inicia;  //iniciamos la clase hijja Tprensa
  begin
    inherited create;
  end;
  procedure Tprensa.alta(Edit,Dir_Editorial,Persona_Contact,Telefono,
                         Poblac,Prov,nom,dir:string; tip:tipo);
  begin
    inherited alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov);  //llamamos a la clase padre y le pasamos los valores en cuestion
    Nombre:=nom;
    Director:=dir;
    ttipo:=tip;
  end;
  procedure tprensa.mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean);
  begin
    inherited mostrar(Editorial1,Dir_Edit1,Per_Contac1,Tlfno1,
                                   Poblacion1,Provincia1,Autor1,Ano_Public1,
                                   Nombre_Nov1,ISBN1,Nombre1,Director1,
                                   Ttipo1,Epoca1,Persona_prin1,Tema1,Personaje1,
                                   Autobiografia1);
    nombre1:=nombre;
    director1:=director;
    ttipo1:=ttipo;
  end;
 
    destructor Tprensa.Destroy;  //destruimnos la clase hija tprensa
  begin
    inherited destroy;
  end;
  constructor Tnovela.Inicia; //iniciamos la clase hija Tnovela
  begin
    inherited create;
  end;
  procedure Tnovela.alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:string;ano_pu  bl:integer);
  begin
    inherited alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov);  //volvemos a llamar al procedmiento del padre "alta" y le pasamos los valores en cuestion
    Autor:=aut;
    Nombre_nov:=nom_nov;
    ISBN:=tisbn;
    ano_public:=ano_publ;
  end;
  procedure tnovela.mostrar(var Editorial1:string;
                      var Dir_Edit1:string;
                      var Per_Contac1:string;
                      var Tlfno1:string;
                      var Poblacion1:string;
                      var Provincia1:string;
                      var Autor1:string;
                      var Ano_Public1:Integer;
                      var Nombre_Nov1:string;
                      var ISBN1:string;
                      var Nombre1:string;
                      var Director1:string;
                      var Ttipo1:Tipo;
                      var Epoca1:string;
                      var Persona_prin1:string;
                      var Tema1:string;
                      var Personaje1:string;
                      var Autobiografia1:boolean);
   begin
    inherited mostrar(Editorial1,Dir_Edit1,Per_Contac1,Tlfno1,
                                   Poblacion1,Provincia1,Autor1,Ano_Public1,
                                   Nombre_Nov1,ISBN1,Nombre1,Director1,
                                   Ttipo1,Epoca1,Persona_prin1,Tema1,Personaje1,
                                   Autobiografia1);
    Ano_Public1:=ano_public;
    autor1:=autor;
    nombre_nov1:=nombre_nov;
    isbn1:=isbn;
   end;

  destructor Tnovela.Destroy;     //destruimos la clase hija Tnovela
  begin
    inherited destroy;
  end;
  constructor Thistorica.Inicia;
  begin
    inherited create;   //iniciamos la clase nieta Thistorica
  end;
  procedure Thistorica.alta(Epk,per_prin,Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tis  bn:string;ano_publ:integer);
  begin
    inherited alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn,ano_publ);
    Epoca:=Epk;
    Persona_prin:=per_prin;
  end;
  procedure thistorica.mostrar(var Editorial1:string;
                            var Dir_Edit1:string;
                            var Per_Contac1:string;
                            var Tlfno1:string;
                            var Poblacion1:string;
                            var Provincia1:string;
                            var Autor1:string;
                            var Ano_Public1:Integer;
                            var Nombre_Nov1:string;
                            var ISBN1:string;
                            var Nombre1:string;
                            var Director1:string;
                            var Ttipo1:Tipo;
                            var Epoca1:string;
                            var Persona_prin1:string;
                            var Tema1:string;
                            var Personaje1:string;
                            var Autobiografia1:boolean);
  begin
  inherited mostrar(Editorial1,Dir_Edit1,Per_Contac1,Tlfno1,
                                   Poblacion1,Provincia1,Autor1,Ano_Public1,
                                   Nombre_Nov1,ISBN1,Nombre1,Director1,
                                   Ttipo1,Epoca1,Persona_prin1,Tema1,Personaje1,
                                   Autobiografia1);
  Epoca1:=Epoca;
  persona_prin1:=persona_prin;
  end;
  destructor Thistorica.Destroy;
  begin
    inherited destroy;
  end;
  constructor Tficcion.Inicia;
  begin
    inherited create;
  end;
  procedure Tficcion.alta(tem,Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:string;a  no_publ:integer);
  begin
    inherited alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn,ano_publ);
    tema:=tem;
  end;
  procedure tficcion.mostrar(var Editorial1:string;
                            var Dir_Edit1:string;
                            var Per_Contac1:string;
                            var Tlfno1:string;
                            var Poblacion1:string;
                            var Provincia1:string;
                            var Autor1:string;
                            var Ano_Public1:Integer;
                            var Nombre_Nov1:string;
                            var ISBN1:string;
                            var Nombre1:string;
                            var Director1:string;
                            var Ttipo1:Tipo;
                            var Epoca1:string;
                            var Persona_prin1:string;
                            var Tema1:string;
                            var Personaje1:string;
                            var Autobiografia1:boolean);
  begin
  inherited mostrar(Editorial1,Dir_Edit1,Per_Contac1,Tlfno1,
                                   Poblacion1,Provincia1,Autor1,Ano_Public1,
                                   Nombre_Nov1,ISBN1,Nombre1,Director1,
                                   Ttipo1,Epoca1,Persona_prin1,Tema1,Personaje1,
                                   Autobiografia1);
  tema1:=tema;
  end;
  destructor Tficcion.Destroy;
  begin
    inherited destroy;
  end;
  constructor Tbiografia.Inicia;
  begin
    inherited create;
  end;
  procedure Tbiografia.alta(Pers,Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn:strin  g;ano_publ:integer;Autobio:boolean);
  begin
    inherited alta(Edit,Dir_Editorial,Persona_Contact,Telefono,Poblac,Prov,aut,nom_nov,tisbn,ano_publ);
    Personaje:=Pers;
    Autobiografia:=Autobio;
  end;
  procedure tbiografia.mostrar(var Editorial1:string;
                            var Dir_Edit1:string;
                            var Per_Contac1:string;
                            var Tlfno1:string;
                            var Poblacion1:string;
                            var Provincia1:string;
                            var Autor1:string;
                            var Ano_Public1:Integer;
                            var Nombre_Nov1:string;
                            var ISBN1:string;
                            var Nombre1:string;
                            var Director1:string;
                            var Ttipo1:Tipo;
                            var Epoca1:string;
                            var Persona_prin1:string;
                            var Tema1:string;
                            var Personaje1:string;
                            var Autobiografia1:boolean);
  begin
  inherited mostrar(Editorial1,Dir_Edit1,Per_Contac1,Tlfno1,
                                   Poblacion1,Provincia1,Autor1,Ano_Public1,
                                   Nombre_Nov1,ISBN1,Nombre1,Director1,
                                   Ttipo1,Epoca1,Persona_prin1,Tema1,Personaje1,
                                   Autobiografia1);
  personaje1:=personaje;
  autobiografia1:=autobiografia;
  end;
  destructor Tbiografia.Destroy;
  begin
    inherited destroy;
  end;
end.

Tomare en cuenta tu consejo, yo por ahora solo me limito a aprender, llebo solo 1 mes programando en Delphi y es mi primer lenguaje de programacion orientado a objetos que aprendo, la pregunta mas logica es....¿Podria utilizar siempre Propiedades cuando exista una jerarquia de clases?
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


La franja horaria es GMT +2. Ahora son las 07:39:12.


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