Querido delphinarios quisiera solcitar su ayuda en lo siguiente.
A modo de poder aprender la oop es que me he dispuesto un ejemplo practico :
Suponiendo un sitema para una ferreteria he tomado solo lo que se refiere a la codificacion de productos
que la dispongo como SuperFamilia-Familia-Subfamilia-Producto.-
por ejemplo
Ferreteria---------------------------------------->Superfamilia
Electricidad ------------------------------------->Familia
Transformadores------------------------------>subfamilia
transformador electrico--------------->Producto
Desarrollar una aplicacion que maneje codigos usando como fuente de datos access.
la estructura de codigo es : Super Familia Familia SubFamilia Producto
Luego ya con esto creo las tablas correspondientes en access.-
Por su parte en delphi construyo lo siguiente.
3 unidades :
1.- llamada Dato -> (Data Module) contiene las conecciones
2.- llamada registro -> contiene los record de las estructuras de las tablas
3.- llamada clase -> contiene la definicion de clases
UNIDAD DATO :
esta unidad contiene las conceciones a la base de datos y
su coneccion con las tablas
PRIMERA DUDA
Es en esta unidad donde defino los procedimiento y funsiones de
acceso a las tablas
Ejemplo :
Cita:
> procedure Tdata.abreTabla;
> begin
> AdSpFamilia.Connection:=Coneccion;
> AdSpFamilia.TableName :='SUPERFAMILIA';
> AdSpFamilia.Open;
> end;
> Function Tdata.GetDato(AId: integer):boolean;
> var
> registro:boolean;
> begin
> with adSpFamilia do
> begin
> result:=Locate('sp_idsp',Aid,[]);
> end;
> end;
UNIDAD REGISTRO :
es aqui donde definio los diferente registros de las tablas ejemplo:
Type
_spFamilia = Record
sp_idsp :integer;
sp_desc :string;
end;
Type
_fmFamilia = Record
fm_idfm :integer;
fm_idsp :integer;
fm_desc :string;
end;
Type
_sbFmailia = Record
sbf_idsb :integer;
sbf_idfm :integer;
sbf_desc :string;
end;
Type
_pdtoProducto = Record
pdto_idpdto :integer;
pdto_idsb :integer;
pdto_desc :string;
pdto_marca :string;
pdto_tipo :string;
pdto_um :string;
pdto_stmi :integer;
pdto_stma :integer;
pdto_modelo :string;
pdto_serie :string;
end;
UNIDAD CLASES
Es aqui son donde defino las diferentes clases ejemplo:
type
Tsuperfamilia = class
private
data:Tdata;
Fdt :_spFamilia;
function carga:string;
public
constructor Create;
procedure actualzar;
property spid :integer read Fdt.sp_idsp write Fdt.sp_idsp;
property spesc :string read carga write Fdt.sp_desc;
end;
UNIDAD UNIT1
Unidad de forms
Ejemplo
procedure TForm1.FormCreate(Sender: TObject);
begin
spfamilia:=Tsuperfamilia.Create;
end;
|
Bueno mi gran duda es que si quisiera heredar si esta bien que en la unidad Dato Especifique los accesos a los datos o bien lo defino en cada clase para luego poder heredar...
Espero se comprenda esto
De antemando agradesco sus comentarios....
Saludos
Marco
Chile