DECLARA?ÃO DE CLASSES
Bom dia
Essa é uma duvida que sempre tive desde que me aventurei pelo C#!
Por exemplo essa sequencia de classes:
Então...
A declaração para a classes produtos deve ser assim:
ou assim:
Essa é uma duvida que sempre tive desde que me aventurei pelo C#!
Por exemplo essa sequencia de classes:
public class Departamentos
{
public int Codigo { get; set; }
public string Descricao { get; set; }
}
///Um grupo deve ter obrigatoriamente um departamento
public class Grupos
{
public int Codigo { get; set; }
public string Descricao { get; set; }
public int CodigoDepartamento { get; set; }
}
Então...
A declaração para a classes produtos deve ser assim:
public class Produtos
{
public int Codigo { get; set; }
public string Descricao { get; set; }
public int CodigoDepartamento { get; set; }
public int CodigoGrupo { get; set; }
}
ou assim:
public class Produtos
{
public int Codigo { get; set; }
public string Descricao { get; set; }
public Departamentos Departamento { get; set; }
public Grupos Grupo { get; set; }
}
O que tem nessas classes são atributos encapsulados???
Desculpe, faltou explicar o que elas fazem... Elas são tabelas do banco de dados, e serão carregadas com os devidos fields em outros métodos para serem usados em relatórios, grids, forms, etc
upzinho básico
Acredito que tanto faz. Vc terá menos trabalho se usar a segunda opção. Porque quando for manipular os dados só precisará instanciar a classe Produtos uma vez que ela te dá acesso as demais classes. Ex
Como pode perceber apenas foi instanciado a classe Produto. Por ela vc pode manipular todos os registros. Com tanto que as outras classes tenham sido instanciadas na classe produto.
public class Movimento{
Produtos prod = new Produtos(); // Instancia da classe
public void pegaValor(){
int codigo = prod.Codigo;
string Descricao = prod.Descricao;
int codigoDepartameto = prod.Departamento.Codigo;
String DescricaoDepartamento = prod.Departamento.Descricao;
}
}
Como pode perceber apenas foi instanciado a classe Produto. Por ela vc pode manipular todos os registros. Com tanto que as outras classes tenham sido instanciadas na classe produto.
Primeiro, pare de enxergar as classes como módulos, eles não são equivalentes. Como eu sei que você está enxergando as classes como módulo? Por causa da forma com que você escreveu o nome delas. O que torna a pluralidade das classes são as instâncias. Por tanto, retire o [Ô]s[Ô] do final do nome delas.
Segundo, existem redundâncias no seu código, por isso dei uma refatorada e ficou como segue abaixo:
Segundo, existem redundâncias no seu código, por isso dei uma refatorada e ficou como segue abaixo:
public class Departamento
{
public int Codigo { get; set; }
public string Descricao { get; set; }
}
///Um grupo deve ter obrigatoriamente um departamento
public class Grupo
{
public int Codigo { get; set; }
public string Descricao { get; set; }
[txt-color=#e80000] public Departamento Departamento { get; set; }[/txt-color]
}
public class Produto
{
public int Codigo { get; set; }
public string Descricao { get; set; }
[txt-color=#e80000] public Grupo Grupo { get; set; }[/txt-color]
}
Tópico encerrado , respostas não são mais permitidas