Arquivos do Blog
Conceitos Finais e Exemplo Prático – Structs: Estrutura da Linguagem – Parte 2
Olá pessoal, neste artigo veremos mais alguns conceitos e criaremos um exemplo prático com Structs. Acompanhem:
Diferenças entre Classes e Structs – Apesar de serem muito parecidas sintaticamente, as classes e structs apresentam algumas diferenças, como descrito a seguir:
- Uma struct não pode ser herdada de uma classe base, ao contrário de uma classe;
- Em uma classe o compilador cria o construtor padrão no caso de não termos criado um construtor próprio. Já a struct não aceita a declaração de um construtor padrão, ou seja, um construtor que não tenha parâmetros. Isso porque o compilador sempre cria um construtor;
- Usando struct não podemos inicializar campos de instância em seu ponto de declaração, o que é possível nas classes. Qualquer struct tem como regra inicializar todos os seus campos em todos os seus construtores;
- A struct apresenta um construtor padrão (já mencionado anteriormente) criada pelo compilador, que sempre aplica os valores false, 0 ou null (dependendo do seu tipo) para os campos, como ocorre nas classes, mais os quais devemos tomar muito cuidado para que façam sentido e se comportem logicamente em relação ao valor da struct criado pelo construtor.
Falando especificamente da última diferença apresentada acima, podemos optar por não usar os valores padrões que o compilador atribui inicialmente. Neste caso, podemos criar um construtor que não é padrão se inicializarmos os campos com valores diferentes, considerando sempre que todos os campos em todos os construtores da struct devem ser inicializados de forma explícita, já que o compilador por si só não inicializará um campo no construtor.
Chega de conceitos e vamos à prática. Veja na Listagem 01 um exemplo do uso da Struct com datas, representando os campos dia, mês e ano:
Conceitos e Exemplos – Virtual, Override e Modificador Sealed: Estrutura da Linguagem
Olá pessoal, neste artigo veremos os conceitos e exemplos das palavras-chave Virtual e Override e veremos também sobre o modificador Sealed. Acompanhem:
Virtual e Override – Com o uso da palavra-chave virtual (destinada a métodos, propriedades, indexadores e eventos), determinamos que um membro pode ser sobrescrito em uma classe filha. Por sua vez, usando a palavra-chave override determinamos que na classe derivada, um membro virtual da classe base pode ser sobrescrito.
Exemplo Prático – Herança: Programação Orientada a Objetos – Parte 2
Olá pessoal, neste artigo veremos dois exemplos práticos com Herança, o segundo logo após vermos os conceitos do operador base. Acompanhem:
Crie um projeto do tipo Console Application, dando a ele o nome de ExemploHeranca e dê OK. Crie também uma classe dando a ela o nome Animal, esta classe será a classe pai ou classe base.
Conceitos e Exemplos – Herança: Programação Orientada a Objetos – Parte 1
Olá pessoal, neste artigo veremos os principais conceitos e alguns exemplos de Herança. Acompanhem:
A Herança possibilita que as classes compartilhem seus atributos, métodos e outros membros da classe entre si. Para a ligação entre as classes, a herança adota um relacionamento esquematizado hierarquicamente.
Conceitos e Exemplos – Polimorfismo: Programação Orientada a Objetos
Olá pessoal, começo neste artigo uma série sobre Programação Orientada a Objetos, farei também uma série com os principais componentes da Estrutura da Linguagem C#. Neste artigo veremos os principais conceitos sobre Polimorfismo. Acompanhem:
Definimos Polimorfismo como um princípio a partir do qual as classes derivadas de uma única classe base são capazes de invocar os métodos que, embora apresentem a mesma assinatura, comportam-se de maneira diferente para cada uma das classes derivadas.


