Aulas vs Estruturas
Alguns dos principais conceitos das 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 OO, que ajudam os programadores a alcançar esses conceitos na maioria das linguagens de programação OO existentes (Java não fornece estruturas). As classes são uma representação abstrata de objetos do mundo real. As estruturas são muito semelhantes às classes com uso semelhante, mas possuem poucas limitações em relação às classes. Ambas as classes e estrutura são usadas para agrupar tipos de dados semelhantes, juntos.
O que são classes?
Classes descrevem a representação abstrata de objetos do mundo real, enquanto os relacionamentos descrevem como cada classe está conectada a outras. Tanto as classes quanto os relacionamentos têm propriedades chamadas atributos. Os métodos nas classes representam ou definem o comportamento dessas classes. Métodos e atributos de classes são chamados de membros da classe. Normalmente, o encapsulamento é obtido tornando os atributos privados, enquanto cria métodos públicos que podem ser usados para acessar esses atributos. Um objeto é a instância de uma classe. A herança permite que o usuário estenda classes (chamadas subclasses) de outras classes (chamadas superclasses). O polimorfismo permite ao programador substituir um objeto de uma classe no lugar de um objeto de sua superclasse. Normalmente, os substantivos encontrados na definição do problema tornam-se diretamente classes no programa. E da mesma forma, os verbos tornam-se métodos. Public, private e protected são os modificadores de acesso típicos usados para classes. Um diagrama de classes mostra as classes dos sistemas, os relacionamentos entre as 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 composto. Semelhante às classes, as estruturas contêm membros que podem pertencer a vários tipos. A palavra-chave struct é usada para definir uma estrutura em C e C++, enquanto a palavra-chave Structure é usada para o mesmo em linguagens de programação. NET.
Qual é a diferença entre Classes e Estruturas?
Mesmo que ambas as classes e estruturas sejam construções semelhantes encontradas em linguagens de programação, elas possuem 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 (diferentemente das estruturas). Na verdade, isso 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. As palavras-chave class e struct são usadas para definir uma classe e uma estrutura em C++, respectivamente. Quando se trata de linguagens. NET (C, VB. NET, etc.), class é um tipo de referência, enquanto 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.