Diferença entre classes e estruturas

Anonim

Classes vs Estruturas

Alguns dos principais conceitos de linguagens de programação orientadas a objetos (OO) são encapsulamento, herança e polimorfismo. Classe e Estrutura são duas das construções / ferramentas de OO, que ajudam os programadores a atingir esses conceitos na maioria das linguagens de programação OO existentes (o Java não fornece estruturas). As aulas são uma representação abstrata de objetos do mundo real. As estruturas são muito semelhantes às classes com um uso similar, mas têm poucas limitações em relação às classes. Tanto as classes como a estrutura são usadas para agrupar tipos similares de dados, juntos.

O que são Classes?

As classes descrevem a representação abstrata de objetos do mundo real, enquanto as relações descrevem como cada classe está conectada aos outros. As classes e os relacionamentos possuem propriedades chamadas atributos. Os métodos nas classes representam ou definem o comportamento dessas classes. Os métodos e atributos das classes são chamados de membros da classe. Normalmente, o encapsulamento é alcançado ao tornar os atributos privados, ao criar métodos públicos que podem ser usados ​​para acessar esses atributos. Um objeto é a instância de uma classe. A herança permite ao usuário estender as classes (chamadas sub-classes) de outras classes (chamadas super-classes). O polimorfismo permite que o programador substitua um objeto de uma classe em lugar de um objeto de sua super classe. Normalmente, os substantivos encontrados na definição do problema se tornam classes diretamente no programa. E da mesma forma, os verbos se tornam métodos. Público, privado e protegido são os modificadores de acesso típicos utilizados para as aulas. Um diagrama de classes mostra as classes dos sistemas, relações entre classes e seus atributos.

O que são Estruturas?

Como mencionado acima, as estruturas são muito semelhantes às classes com uso semelhante, mas são capacidades ligeiramente limitadas do que as classes. Na verdade, as classes podem ser consideradas como uma extensão das estruturas. Por exemplo, as estruturas são iguais às classes em C ++, mas têm membros públicos por padrão. Uma estrutura pode ser definida pelo usuário para representar um tipo que é composto. Semelhante às classes, as estruturas contêm membros que podem pertencer a vários tipos. A estrutura de palavras-chave é usada para definir uma estrutura em C e C ++, enquanto a estrutura de palavras-chave é usada para o mesmo em linguagens de programação.NET.

Qual a diferença entre Classes e Estruturas?

No entanto, tanto as classes quanto as estruturas são construções similares encontradas em linguagens de programação, elas têm diferenças sutis. Normalmente, a classe é uma extensão da estrutura e, portanto, as estruturas têm algumas limitações relativas. Por exemplo, as estruturas podem ser consideradas iguais às classes em C ++, mas os membros não são públicos por padrão nas classes (ao contrário das estruturas).Isso realmente significa que você pode definir uma classe e uma estrutura com exatamente as mesmas características usando os modificadores de acesso apropriados em C ++. No entanto, em C, as estruturas não podem conter nenhuma função ou operações sobrecarregadas. A classe de palavras-chave e a estrutura são usadas para definir uma classe e uma estrutura em C ++, respectivamente. Quando se trata de. NET (C #, VB. NET, etc.), a classe é um tipo de referência, enquanto a estrutura é um tipo de valor. E geralmente, as estruturas são usadas para objetos menores, mas as classes são usadas para objetos maiores que são mantidos na memória por períodos mais longos.