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 Sintaxe – Structs: Estrutura da Linguagem – Parte 1
Olá pessoal, neste artigo veremos os principais conceitos das Structs. Acompanhem:
A carga para gerenciar o heap (pilha, local especial da memória) pode tornar-se desproporcional em situações nas quais uma classe possui uma quantidade muito pequena de dados. Se assim for, é aconselhável definir o tipo como estrutura ao invés de classe. Desta forma, a carga de gerenciamento de memória é reduzida frequentemente, já que as estruturas são armazenadas na pilha.
Dito isto, podemos afirmar que Structs é uma estrutura de um determinado tipo. No C#, os tipos numéricos primitivos float, long e int são apelidos de estruturas. O long, por exemplo, é um apelido para System.Int64.
Segundo a documentação do Visual Studio 2010, “é um tipo por valor que é normalmente usado para encapsular pequenos grupos de variáveis relacionadas, como características de uma pessoa, por exemplo.” (tradução livre). Ainda segundo a documentação, Structs podem conter construtores, constantes, campos, métodos, propriedades, indexadores, operadores, eventos e tipos aninhados.
É importante dizer que o uso de diversos operadores comuns em nossos próprios tipos de estrutura, por padrão, não é possível.
Classes do .NET Framework – Introdução
Olá pessoal, não vejo muito por aí, na internet, artigos técnicos falando sobre o assunto (em português menos ainda), por isso resolvi começar a estudar o assunto e apresentá-lo a vocês, que é uma extensa (será extensa mesmo!) abordagem teórica e prática sobre as 20 principais classes do .NET Framework, suas sub-classes e métodos.
Se você não conhece absolutamente NADA sobre o .NET Framework, sugiro que leia todo o conteúdo do site da MSDN clicando neste link, que veja este artigo, do Macoratti, sobre o assunto e que corra atrás de mais informação relevante, como o Training Kit que a Microsoft disponibilizou em Junho/2011, com diversos exemplos práticos, e que pode ser visto neste artigo.
Usarei como total referência a documentação oficial da Microsoft, que é o site do MSDN, a partir deste link.
A Class Library (Biblioteca de Classes) do .NET Framework 4.0 é composta por 54 namespaces (veja link acima) e, desses, separei os 20 que julgo mais importantes/essenciais de sabermos pelo menos o básico sobre eles. Alguns como o System.Web, por exemplo, são tão extensos que vou estudar a melhor forma de organizar isso em artigos e apresentar os mais usados.
Abaixo deixo a lista dos Namespaces que serão vistos ao longo dessa extensa série de artigos, que pretendo começar já semana que vem (e voltar também a gravar videoaulas e postar em meu canal do YouTube):
Usando Atributos de Classes Distintas em Conjunto, com Orientação a Objetos em C#
Olá pessoal, neste artigo veremos como usar atributos de classes distintas, usando os conceitos de Orientação a Objetos e a linguagem C#. Acompanhem:
Introdução – O objetivo deste artigo é mostrar como usar atributos de uma classe na outra, usando conceitos básicos de Orientação a Objetos. Como este exemplo é feito usando como base uma videoaula do Bruno Belizário, seguirei à risca o que é descrito lá, criando um projeto simples em Console Application. Faremos o seguinte: criaremos duas classes, uma chamado Produto e outra chamada Imposto. A ideia é usarmos atributos da classe Imposto na classe Produto.
Exemplo Prático – Interfaces: Programação Orientada a Objetos – Parte 2
Olá pessoal, neste artigo veremos um exemplo prático com o uso de Interfaces. Acompanhem:
Crie um projeto, do tipo Console Application, dando a ele o nome ExemploInterfaces. Agora vá à Solution Explorer e adicione uma classe ao projeto, dando a ela o nome Funcionario.
Conceitos – Interfaces: Programação Orientada a Objetos – Parte 1
Olá pessoal, neste artigo veremos os principais conceitos sobre Interfaces. Acompanhem:
Podemos definir como interface o contrato entre a classe e o mundo exterior. Quando uma classe implementa uma interface, se compromete a fornecer o comportamento publicado por esta interface.
As classes ajudam a definir um objeto e seu comportamento e as interfaces que auxiliam na definição dessas classes. As interfaces são formadas pela declaração de um ou mais métodos, os quais obrigatoriamente não possuem corpo.
As operações específicas para cada um desses métodos são realizadas pela classe que implementa. De um modo geral, podemos dizer que as interfaces definem certas funcionalidades, as quais dependem das classes que implementam as interfaces para que os métodos existam.
A implementação de interfaces também pode ser realizadas por meio de Structs, que serão abordados em um artigo futuro.
Exemplo Prático – Classes Abstratas: Programação Orientada a Objetos – Parte 2
Olá pessoal, neste artigo veremos um exemplo prático com Classes Abstratas. Acompanhem:
Crie um projeto do tipo ConsoleApplication, dando a ele o nome ExemploClassesAbstratas.
Poderíamos criar as classes direto no arquivo Program.cs, gerado automaticamente pelo Visual Studio e que contém o método Main, que define o ponto de entrada de nossa aplicação.
Conceitos – Classes Abstratas: Programação Orientada a Objetos – Parte 1
Olá pessoal, neste artigo veremos os conceitos sobre Classes Abstratas. Acompanhem:
As classes abstratas são as que não permitem realizar qualquer tipo de instância. São classes feitas especialmente para serem modelos para suas classes derivadas. As classes derivadas, via de regra, deverão sobrescrever os métodos para realizar a implementação dos mesmos. As classes derivadas das classes abstratas são conhecidas como classes concretas.
Conceitos e Exemplo – Classes e Membros Estáticos: Estrutura da Linguagem
Olá pessoal, neste artigo veremos os conceitos e um exemplo com as Classes e Membros Estáticos da linguagem C#. Acompanhem:
Classes Estáticas – As classes estáticas são aquelas que contêm apenas membros estáticos, além de que elas não podem ser instanciadas. Quando o programa ou o namespace que possui determinada classe estática é carregado, o CLR (Common Language Runtime) do .NET Framework carrega automaticamente as classes estáticas.
Exemplo Prático – Classes: Programação Orientada a Objetos – Parte 3
Olá pessoal, neste artigo criaremos um exemplo prático com alguns dos elementos da classe, abordados anteriormente. Acompanhem:
Nos artigos anteriores criei uma solução no Visual Studio, dei a ela o nome de ExemploClasses. Adicionei um projeto do tipo Class Library (Biblioteca de Classes), dando a ele o nome de Elementos. Nele, criei os quatro elementos descritos anteriormente. Relembrando são: campos, métodos, propriedades e eventos.


