Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Revista MSDN Magazine Edição 34 - Programação Orientada a Objetos no C#(csharp) .NET
Artigo Originalmente Publicado na MSDN Magazine Edição 34

Clique aqui para ler todos os artigos desta edição
Programação Orientada a Objetos no C# .NET
Marcelo Santos Daibert e Marco Antônio Pereira Araújo
O C# é uma linguagem de programação que une o poder e a flexibilidade da linguagem C/C++ com a produtividade de linguagens e ambientes de desenvolvimento rápido (RAD - Rapid Application Development). Outro fator importante é a interoperabilidade de uma aplicação desenvolvida em C#.
As classes, quando bem desenvolvidas, podem tanto servir para uma aplicação desktop, quanto para uma aplicação Web e vice-versa, além de servir a Web Services e tecnologias de componentes. Totalmente Orientado a Objetos, o C# é fortemente tipado, onde cada variável deve ser associada com algum tipo de dado ou objeto, contribuindo assim para a manutenibilidade e confiabilidade do sistema.
Este artigo tem o objetivo de abordar de forma prática o desenvolvimento de uma aplicação, usando a linguagem C# do Visual Studio 2005, utilizando os recursos da Programação Orientada a Objetos (POO), do .NET 2.0 e do framework de persistência Objeto-Relacional chamado nHibernate.
Estudo de Caso
No escopo deste artigo é apresentado um estudo de caso para exemplificar as técnicas de programação Orientada a Objetos, utilização das classes do .NET 2.0, do nHibernate e do Visual Studio 2005, aplicados na linguagem C#.
O estudo de caso apresenta um fragmento de um sistema maior, representado aqui pela relação entre funcionários e departamentos de uma empresa, através das classes Departamento, Funcionario e FuncionarioHorista. A classe Funcionario é abstrata, servindo para a definição dos elementos comuns às suas subclasses através da herança.
Todos os funcionários devem estar lotados em um Departamento, que pode ter vários funcionários. A Figura 1 representa o diagrama de classes do nosso sistema.

Figura 1. Diagrama de Classes do estudo de caso
Através desse estudo de caso, são abordados temas como classes, objetos, métodos, atributos, persistência de objetos, herança, polimorfismo, herança, diálogos, associações e programação em camadas MVC (Model-View-Controller), além de temas pertinentes ao ambiente de desenvolvimento, como utilização de componentes, classes e controles disponibilizados pelo Visual Studio 2005 e do .NET 2.0.
Classes, Propriedades e Métodos
O primeiro passo para iniciar o desenvolvimento é a criação de um projeto Windows Forms no Visual Studio 2005, chamado “Empresa”. Com isso, é criado um namespace de mesmo nome. Com o projeto criado, é possível adicionar arquivos, classes, formulários, formulários Web, referências, diretórios, entre outros. Selecione o projeto no Solution Explorer e acesse o menu Project>New Folder, dando o nome de “Classes”, que será o repositório das classes do sistema.
Para adicionar uma nova classe ao diretório, (não esqueça de deixar selecionado a pasta criada anteriormente), acesse o menu Project>Add Class e dê o nome de “Funcionario.cs” (Figura 2).

Figura 2. Criação de uma nova classe
Clique em Add para adicionar a classe ao diretório. As Listagens 1, 2 e 3 apresentam o código-fonte de definição das classes Funcionario, FuncionarioHorista e Departamento do exemplo proposto, respectivamente, todas dispostas no namespace Empresa.Classes.
É importante que cada classe esteja em um arquivo próprio, devendo-se criar uma nova classe para FuncionarioHorista e Departamento.
Listagem 1. Definição da Classe Funcionario
using System.Collections;
1. namespace Empresa.Classes {
2. public abstract"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!



