Classe Generica de Calculos.
OLá . Estou com um projeto monográfico cujo o Tema é Desenvolver um protótipo para Auxiliar o controle de produção de uma fábrica de sorvetes Sistema ERP. Estou usando conceito orientação a objeto tanto no banco como na linguagem. A idéia é usar classes Genericas o máximo possivel. Tanto nas classes que referentes aos cadastro quanto classe de gerenciamento de inserção etc... Considerando que no sistema existe uma série de funcoes que vão calcular dados pertinestes. Gostaria de uma idéia ou uma orientação de desenvolver uma classe generica so para calculos : Calculo de precos, Calculo juros, Calculo Financeiros etc....
Gostaria de uma forcinha.
flow
Aldemir Silva
Curtidas 0
Respostas
Rodrigo Mourão
15/08/2009
Olá amigo,
Bem modelagem de uma sistema, construção de uma classe, isso tudo é uma coisa muito pessoal. O que quero dizer é que a melhor solução para mim não pode ser a melhor para você. Então o que eu vou expor aqui é o que eu faria caso eu estivesse modelando o sistema e que acho que é o que você quer kkkkkkkk
Vamos lá, eu criaria uma classe como a abaixo:
type
TCalculos = class
class function CalculaINSS(Valor: Double): Double;
class function CalculaICMS(Valor, Aliquota: Double): Double;
class function CalculaISS(Valor, Aliquota: Double): Double;
end;
A ideia é criar uma classe e colocar nela os metodos para realizar os calculos. Nao sei quais os calculos que vc vai fazer mas a funcao tem que pedir todos os parametros necessários. Por exemplo para calcular o valor do icms de um produto eu preciso passar o valor do produto e a aliquota. A funcao vai me retornar o valor do icms.
Repare que as funcoes sao class function, assim vc nao precisa criar o objeto para consumir. Pode fazer assim:
TCalculos.CalculaInss(100.00);
Pode chamar direto da classe.
Espero ter ajudado.
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Bem modelagem de uma sistema, construção de uma classe, isso tudo é uma coisa muito pessoal. O que quero dizer é que a melhor solução para mim não pode ser a melhor para você. Então o que eu vou expor aqui é o que eu faria caso eu estivesse modelando o sistema e que acho que é o que você quer kkkkkkkk
Vamos lá, eu criaria uma classe como a abaixo:
type
TCalculos = class
class function CalculaINSS(Valor: Double): Double;
class function CalculaICMS(Valor, Aliquota: Double): Double;
class function CalculaISS(Valor, Aliquota: Double): Double;
end;
A ideia é criar uma classe e colocar nela os metodos para realizar os calculos. Nao sei quais os calculos que vc vai fazer mas a funcao tem que pedir todos os parametros necessários. Por exemplo para calcular o valor do icms de um produto eu preciso passar o valor do produto e a aliquota. A funcao vai me retornar o valor do icms.
Repare que as funcoes sao class function, assim vc nao precisa criar o objeto para consumir. Pode fazer assim:
TCalculos.CalculaInss(100.00);
Pode chamar direto da classe.
Espero ter ajudado.
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Aldemir Silva
15/08/2009
Pq vc ach que usar
class function Calculo(100):double; É mais eficiente em para calculos.N
ão entendi o q vc quiz dizer
GOSTEI 0
Rodrigo Mourão
15/08/2009
Class function ou class procedures são metodos que pertencem a calsse e não ao objeto. Isso ajuda na hora de consumir pois não temos que criar o objeto.
Observe diferenção:
Metodo tradicional - Voce tem que criar o objeto para consumir o metodo;
var
C: TCalculo;
begin
C := Tcalculo.create;
C.CalculaPreco;
freeandnil(C);
end;
Metodo de Classe - Voce invoca o metodo direto da classe
begin
Tcalculo.CalculaPreco;
end;
Viu a diferençã. Podemos invocar metodos de classe direto da classe sem instanciar o objeto.
Att,
Observe diferenção:
Metodo tradicional - Voce tem que criar o objeto para consumir o metodo;
var
C: TCalculo;
begin
C := Tcalculo.create;
C.CalculaPreco;
freeandnil(C);
end;
Metodo de Classe - Voce invoca o metodo direto da classe
begin
Tcalculo.CalculaPreco;
end;
Viu a diferençã. Podemos invocar metodos de classe direto da classe sem instanciar o objeto.
Att,
GOSTEI 0
Aldemir Silva
15/08/2009
blz!! Entendi. Vou comecar a criar as minhas class.
GOSTEI 0
Rodrigo Mourão
15/08/2009
Show de Bola !!!!
Qualquer dúvida estaremos aqui. Por hora estaremos colocando o chamado como encerrado, porém caso haja alguma dúvida poderá reabrí-lo que voltaremos a auxiliá-lo.
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
Qualquer dúvida estaremos aqui. Por hora estaremos colocando o chamado como encerrado, porém caso haja alguma dúvida poderá reabrí-lo que voltaremos a auxiliá-lo.
Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0