C# - Easy .net magazine 3
Continuando com o conteúdo sobre C#, será abordado o principal fundamento da programação orientada a objetos: a criação de classes. Além de entendermos a elaboração de uma classe desde o seu princípio, veremos também como usar herança para que seja possível o reaproveitamento de código. Aprofundando um pouco neste assunto criaremos uma interface para que seja usada de base para criação de outras classes.
Atenção: esse artigo tem uma palestra complementar. Clique e assista!
C# Primeiros passos com a linguagem - Parte 1
C# Primeiros passos com a linguagem - Parte 2
C# Primeiros passos com a linguagem - Parte 4
Continuando com o conteúdo sobre C#,
será abordado o principal fundamento da programação orientada a objetos: a
criação de classes. Além de entendermos a elaboração de uma classe desde o seu
princípio, veremos também como usar herança para que seja possível o
reaproveitamento de código. Aprofundando um pouco neste assunto criaremos uma
interface para que seja usada de base para criação de outras classes. Veremos
ainda como criar campos, propriedades e métodos para adicionar funcionalidades a
sua classe. Também veremos como fazer com que os métodos de mesmo nome em uma
classe executem tarefas aceitando listas diferentes de parâmetros de entrada. Para que
serve A programação orientada a objeto (POO ou
OOP do inglês Object Oriented Programming) representou um marco na evolução do
desenvolvimento dos softwares. Quando bem empregada evita que o programador
tenha que ficar reescrevendo códigos para problemas que já foram resolvidos
anteriormente, ou seja, promove a reutilização de código. Mesmo que o problema
a ser resolvido seja ligeiramente diferente de um problema para o qual já
existe uma classe desenvolvida, pode-se estender a funcionalidade da classe com
o uso da herança. Classes são úteis, pois procuram representar os elementos da
programação fazendo uma analogia ao mundo real com termos como “Objetos”,
“Interfaces”, “Propriedades”, “Campos”, “Métodos”. Você poderá agregar ainda
proteção para os dados da sua classe expondo somente os elementos que desejar
com o uso da definição do nível de acesso dos elementos da classe. Um conceito
importante é procurar entender as classes como modelos de objetos que serão
utilizados para resolver problemas computacionais. Pode-se usar classes apenas
para armazenar dados na memória que serão manipulados pelo programa ou ainda,
executarem tarefas específicas como acessar bancos de dados, ler ou escrever em
arquivos, e muitas outras. Em que
situação o tema é útil A essência de um programa consiste em
manipular dados na memória do computador para poder executar alguma tarefa. Você
poderá usar classes para receber os dados digitados de um usuário em seu Web
Site ou aplicação Windows e serializar na forma de arquivos XML ou mesmo enviar
para o banco de dados. Você pode ter uma biblioteca com diversas classes que
realizam tarefas das mais variadas categorias e criar o seu próprio framework
para elaborar programas mais complexos. O próprio Microsoft .Net Framework
consiste de inúmeras classes as quais você utiliza o tempo todo. Com o uso de
orientação a objetos você poderá resolver problemas como gerenciamento de
contas a receber de clientes usando um nível mais alto de raciocínio porque, em
vez de pensar em variáveis de memória e tabelas em bancos de dados ou
ponteiros, você passa a lidar com objetos como faturas, duplicatas, ordem de
pagamento etc. Resumo do DevMan Com o surgimento da
programação orientada a objetos, muitas tarefas repetitivas começaram a se
tornar mais fáceis de serem implementadas. Além de uma forte analogia com o
mundo real através do conceito de “Objeto”, graças a elementos como herança e
interface, o programador pôde reaproveitar muito mais os códigos escritos
anteriormente. Através do uso de classes para modelar a maneira como o programa
manipula os dados e executa a lógica para resolução de diversos problemas, se tem
uma organização maior para desenvolver as aplicações. Uma classe pode começar
simples e ir evoluindo ao longo do ciclo de vida da aplicação. Também é
possível se criar um modelo para as classes, representado pela “Interface”. As
classes devem ser usadas para manipular dados procurando representar o mundo
real da forma mais acurada que for possível através de conceitos como campos,
propriedades, encapsulamento, métodos, polimorfismo, herança etc. Os dados
propriamente ditos devem ser representados por campos e propriedades sendo que
estas últimas podem incluir algumas validações e tratamento de dados assim que
estes são preenchidos. As operações a serem realizadas com os dados são
representadas pelos métodos. Estes métodos precisam sempre que possível ocultar
toda a complexidade envolvida na resolução de determinado problema por parte da
classe devendo realizar tarefas bem específicas sem tornar-se muito extenso. Pode
ser ainda que você queira criar uma classe que não armazene nenhum dado mas,
seja um elemento que execute tarefas variadas sem reter nenhum tipo de dado.
Dessa forma, o foco principal deste artigo é explorar exatamente este tema:
classes.
Classes são úteis. Na verdade torna-se muito difícil programar atualmente sem fazer uso de uma classe. Vamos iniciar um exemplo, crie uma aplicação do tipo Console no Visual Studio e veja o código gerado automaticamente pela ferramenta, conforme Listagem 1.
Listagem 1. Exemplo de programa console
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication1
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 }
13 }
14 }
15
Note que logo nas primeiras linhas está sendo declarada uma classe chamada “Program” através do uso da palavra chave “class” e é a partir desta que todos os códigos serão executados. A mesma coisa acontece com qualquer outro tipo de programa. Vejamos mais um exemplo com uma aplicação Windows. A Listagem 2 mostra o arquivo “Program.cs” que é gerado automaticamente quando criamos uma aplicação Windows Forms.
Listagem 2. O arquivo Program.cs de uma aplicação Windows Forms
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Windows.Forms;
5
6 namespace WindowsFormsApplication1
7 {
8 static class Program
9 {
10 /// <summary>
11 /// The main entry point for the application.
12 /// </summary>
13 [STAThread]
14 static void Main()
15 {
16 Application.EnableVisualStyles();
17 Application.SetCompatibleTextRenderingDefault(false);
18 Application.Run(new Form1());
19 }
20 }
21 }
22
E ali está novamente a classe “Program”. Isto acontece principalmente pelo fato de o Microsoft .NET ser um ambiente orientado a objetos, assim como o é também o sistema operacional Windows. Logo, nada mais natural que cada programa seja tratado como um objeto, com suas propriedades, dados e métodos. Todo o Microsoft Framework .NET consiste em várias bibliotecas de classes que executam cada uma tarefas específicas. Quando tiver oportunidade examine a pasta “C:\windows\Microsoft.NET\Framework” para verificar as bibliotecas de classes (DLLs) e também a documentação do framework para conhecer algumas destas classes.
Nota do DevMan
Uma prática muito recomendada é que quem deseja usar o Microsoft Framework .NET para desenvolver suas aplicações conheça como as classes funcionam sem necessariamente passar por uma ou outra linguagem como o C# ou o Visual Basic .NET. A própria biblioteca MSDN que é instalada juntamente com o Visual Studio traz exemplos para várias linguagens onde se pode perceber que pouca coisa muda de uma linguagem para outra. Com esta prática, mesmo que em algum momento seja optado por uma linguagem diferente da que se está acostumado, será mais fácil para o desenvolvedor se adaptar, pois já conhece a estrutura do ambiente para o qual está desenvolvendo. Linguagens e práticas à parte, é muito bom poder conhecer realmente a estrutura do .NET, por outro lado, se você optar por uma ou outra linguagem, irá perceber que cada uma delas tem pequenas diferenças sendo que em alguns casos certas tarefas são executadas diferentemente dependendo da linguagem escolhida. A escolha da linguagem é algo de certa forma pessoal sendo que uma recomendação é que se opte por aquela que existe mais documentação disponível e pessoas trabalhando com a mesma. A menos que você esteja fazendo pesquisas por novas linguagens de programação. Esta é uma discussão árida e longa. Procure conhecer tudo o que for possível de orientação a objetos, as ferramentas do framework e se você optou pelo C#, seja bem-vindo. "
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo