UTILIDADE DAS CLASSES

DANIEL.LOPES 08/02/2011 20:36:16
#364748
Pessoal desculpe minha ignorância, mas como sou programador de VB6 e estou migrando para o C# não estou conseguindo encontrar de forma usual a vantangem das classes.
No curso que estou fazendo (uma vídeo aula) do Thiago Medeiros, no qual ele explicou as classes e eu compreendi bem a mesma, mas não consegui visualizar como programador o quanto ela poderá me beneficiar num desenvolvimento de um software.

Vocês teriam um exemplo lógico sobre a vantagem de usar classes no desenvolvimento ?

Desde já agradeço a todos
RODRIGOFERRO 08/02/2011 21:05:04
#364754
Classe de conexao com um banco por exemplo, onde tu centraliza a conexao para todo o projeto, ou voce prefere colocar 250 linhas para conexao em cada um dos 100 formularios do projeto e toda vez que mudar uma virgula ter de mudar em todos os formularios...

Segue um trecho do site Linha de Codigo

Citação:

Finalmente definiríamos uma classe, como a entidade capaz de encapsular dados, sob a forma de campos, e funcionalidades, os métodos, que manipulam esses dados, disponibilizando sua estrutura para outras entidades que a utilizam para realizar uma ou mais tarefas que um assembly C# se propõe.



então para concluir C# é totalmente voltado ao POO e tal dinamismo seria totalmente prejudicado sem o uso das classes

Toma aqui leia esse link que irá clarear sua mente http://www.tomasvasquez.com.br/cursocsharp/programacao_orientada_objetos/classes-e-objetos

Abraços
MARCOSLING 08/02/2011 21:11:22
#364755
Se você entender Orientação a Objetos vc terá a sua resposta.
ASHKATCHUP 08/02/2011 22:27:12
#364762
Resposta escolhida
Tudo o que os colegas citaram foi correto, mas eu só consegui entender classes quando entendi a seguinte analogia:

Em VB6, para lidar com os dados de um cliente, por exemplo, utilizamos variáveis:

VB

Dim iCodigo as Integer
Dim sNome as String
Dim sEndereco as String



A utilidade mais básica de classes é agrupar dados em um bloco:

C#

class Cliente
{
int Codigo {get; set;};
string Nome {get; set;};
string Endereco {get; set;};
}



Até agora, tudo igual, né?
O que muda é na hora de usar as variáveis. Qual te parece mais facil de entender?

VB

iCodigo = 1
sNome = [Ô]Ash Katchup[Ô]
sEndereco = [Ô]VBMania[Ô]


C#

Cliente.Codigo = 1;
Cliente.Nome = [Ô]Ash Katchup[Ô];
Cliente.Endereco = [Ô]VBMania[Ô]



Se você for ver, não mudou muito. Mas se, em um form, você utilizar dados do cliente e do fornecedor?
Ai começa a virar uma zona...

VB

Dim iCodigoCliente as Integer
Dim sNomeCliente as String
Dim sEnderecoCliente as String
[ô]
Dim iCodigoFornecedor as Integer
Dim sNomeFornecedor as String
Dim sEnderecoFornecedor as String


C#

class Cliente
{
int Codigo {get; set;};
string Nome {get; set;};
string Endereco {get; set;};
}

class Fornecedor
{
int Codigo {get; set;};
string Nome {get; set;};
string Endereco {get; set;};
}



Até ai, mudou um pouco... mas veja na hora de usar agora:

VB

iCodigoCliente = 1
sNomeCliente = [Ô]Ash[Ô]
sEnderecoCliente = [Ô]VBMania[Ô]
[ô]
iCodigoFornecedor = 2
sNomeFornecedor = [Ô]Katchup[Ô]
sEnderecoFornecedor = [Ô]Internet[Ô]


C#

Cliente.Codigo = 1;
Cliente.Nome = [Ô]Ash[Ô];
Cliente.Endereco = [Ô]VbMania[Ô];

Fornecedor.Codigo = 2;
Fornecedor.Nome = [Ô]Katchup[Ô];
Fornecedor.Endereco = [Ô]Integer[Ô];



Qual te parece mais organizado? Obviamente, fiz um exemplo pequeno... pensa em um form que usa:
-Cliente
-Fornecedor
-Transportadora
-Produto


Além disso, classes possibilitam diversas vantagens, como herança.
ASHKATCHUP 08/02/2011 22:36:54
#364765
Barros, concordo contigo. Mas, como eu disse acima, foi a maneira que eu encontrei para entender a real vantagem de classes .
Depois descobri as outras...
SAMUKA 08/02/2011 23:07:49
#364772
é meu amigo DANIEL_LOPES, realmente é complicado mesmo.

Acredito que todo mundo q começou na programação com VB6 tenha essa dificuldade por ser um estilo de programação orientado a eventos.

Em VB é bem possivel sobreviver sem utilizar classes (pois é, o VB6 tb tem classes, embora não seja possivel herança, polimorfismo,etc)

O objetivo da orientação a objeto é tornar o código reutilizavel, e, principalmente, evitar que vc tenha código repetido, agrupando em classes, as funções/métodos e os atributos/variaveis que estejam relacionados.

Isso nos dá uma vantagem muito grande. Somente os métodos da classe manipularão as informações relacionadas a classe.

[VB6]Qdo vc usa uma variavel global, qq parte do código pode alterar seu valor e acaba ficando extremamente problematico dar manutenção.

Isso é apenas uns detalhes, embora existam muito mais e a complexidade e seu [ô]custo[ô] no final valem a pena!!

OBS. A vantagem não é de performance de maquina, a vantagem está na manutenção do código!!
Tópico encerrado , respostas não são mais permitidas