Imprimir Post

Programação Orientada a Objetos com C# (Parte 2.1) – Classe

Resumo:

O objetivo não se aplica a este post.

Uma vez que o conteúdo total desta série foi dividido em partes, deve-se considerar absoluto o resumo da primeira postagem até o momento presente.

Classe - Relembre - Link Primeiro Post

Este tema da série Programação Orientada a Objetos com C# irá demandar mais publicações. Sendo assim, a numeração sequencial desta parte da série passou de 2 para 2.1 (vide título) e assim seguirá (2.2, 2.3…) mediante a necessidade de conclusão.

Palavras-chaves:

Tipos, Declaração, Modificador, Acesso, Criação, Objeto.

Texto:

Com o paradigma Orientação a Objetos e consequentemente a definição de Objeto devidamente esclarecidos (vide post anterior), o próximo passo na Programação Orientada a Objetos com C# será entender o que é Classe.

Classe - Relembre - Link Post Anterior

Classe

Classe é um conceito, onde na ordem prática de criação, antecede o nascimento de um Objeto, ou seja, a partir de Classes podem criar-se Objetos e não o contrário.

Classe - Atenção - Objeto perante uma Classe

Pode-se entender Classe como sendo um molde, uma fôrma, um arquétipo, do qual os Objetos são oriundos.

Em resumo, pode-se concluir que:

  • Classes (como já citado) são apenas conceitos e não possuem vida, diferente dos Objetos criados a partir destas;
  • Classes são estruturas responsáveis por abstrair um conjunto de Objetos semelhantes;
  • Classes irão sempre definir o tipo de Objeto a ser criado.

Tipos de Classe

Existem dois tipos de Classes a serem exploradas, a Classe Padrão e a Classe de Objetos.

  • Classe Padrão: em um projeto que possibilite a realização prática do desenvolvimento com Classes, (por exemplo: uma aplicação de Console) por padrão é disponibilizada uma Classe nomeada como Program. Esta classe por sua vez contém também um método por padrão chamado Main. No caso da aplicação ter em si mais de uma classe (o que é bem comum), uma vez que aplicação for executada, a classe a ser chamada primeiramente é a classe que contém o método Main, ou seja, a Classe Padrão. Geralmente neste cenário, é dentro do método Main que se declaram as chamadas para outras Classes, as Classes de Objetos.
  • Classe de Objeto: classe utilizada para criação de Objetos.

Declarando uma Classe

A declaração de Classes em C# se estabelece da seguinte maneira:

  •  Modificador de Acesso: determina-se o nível de acesso da Classe através dos modificadores de acesso para classes, evocados através das palavras-chave: public, private e protected;
Classe - Modificadores de Acesso para Classes - Palavra-chave x Descrição

Modificadores de Acesso para Classes – Palavra-chave x Descrição

  • Class (minúscula): é uma palavra-chave para declaração de uma Classe que segue em sequencia ao modificador de acesso;

Classe - Terminologia - Palavra-chave x Palavra-reservada

  • Nome da Classe: determina-se o nome para classe que está sendo criada. Sendo uma palavra, normalmente recomenda-se que o nome da classe inicie com sua primeira letra maiúscula, concluindo a palavra em minúscula. No caso da classe conter duas palavras na elaboração de seu nome, após o final da primeira palavra, a próxima será iniciada novamente com a letra maiúscula e terminada com minúscula (prática de notação conhecida como PascalCase). Além disso, deve-se evitar acentuação em classes.

A partir da chave de abertura até a chave de fechamento, tem-se o chamado Corpo da Classe, local onde se definem Variáveis e Métodos da classe, além de dados como eventos, propriedades, entre outros (os citados “outros” terão menor destaque agora e, portanto, serão abordados em um momento futuro da série). Unidos, estes dados formam os chamados: Membros da Classe.

Criando uma Classe de Objeto

Dado o exemplo sistema de transporte metropolitano, sistema este que contém o Objeto metrô, porém não existe apenas o metrô de uma única linha. Pensando um pouco mais profundamente, existem os metrôs da linha amarela, metrô da linha vermelha, metrô da linha azul, entre outros. Cada um destes possui determinadas características e ações individualmente, mas ainda sim são metrôs e por sequencia de criação, no contexto exemplificado, surgem a partir de uma Classe Metrô.

Lembrando que são a partir de Classes que se criam os Objetos, logo, as Variáveis e Métodos estruturados nas classes, serão os estados e comportamentos de um Objeto antes discutidos, ver abaixo:

Classe - Metrô (Objeto) - Estados x Comportamentos

Metrô (Objeto) – Estados  x Comportamentos

Partindo agora para criação e tendo-se de evitar acentuação para nomes de classes, então a classe Metrô passará a ser abordada como Metro:

Detalhes da declaração da Classe:

  • Modificador de Acesso: utilizado como public, ou seja, esta classe poderá ser acessada por outras classes diferentes, fora da primeira citada;
  • Class (minúscula): segue a norma sequencial de declaração para criação de classe;
  • Metro: é o nome que a classe em questão foi definida.

Declarando uma variável da Classe

A declaração de Variáveis das classes em C# se estabelecem da seguinte maneira:

  • Tipo de Variável: determina-se o tipo da variável declarada na classe;
  • Nome da Variável: determina-se o nome para variável que está sendo criada, que segue em sequencia ao tipo de variável. Sendo uma palavra, normalmente recomenda-se que o nome da variável inicie com sua primeira letra minúscula, concluindo a palavra em minúscula. No caso da variável conter duas palavras na elaboração de seu nome, após o final da primeira palavra, a próxima será iniciada com a letra maiúscula e terminada como minúscula (prática de notação conhecida como camelCase).

Criando variáveis na Classe de Objeto

Conforme citado, variáveis são membros das classes, declaradas entre a abertura e fechamento das chaves. Seguindo agora com a classe Metro, antes estabelecida, ao unificar as informações com as variáveis da classe, surgirá o resultado:

Detalhes da declaração das variáveis da Classe:

  • As variáveis presentes nas classes são conhecidas como variáveis de instância.

Considerações Finais:

Esta publicação visa a definição de Classes, além de uma abordagem inicial sobre elaboração e utilização destas, tendo em mira a preparação para geração de objetos propriamente ditos.

É importante ressaltar que, a medida que os posts forem evoluindo, com apresentações teóricas somadas as práticas, a tendência é que o leitor vá sanando suas dúvidas e dificuldades de entendimento.

Na próxima publicação, ainda segunda parte da série: Programação Orientada a Objetos com C# será apresentado o segundo post sobre Classe,  o leitor irá conferir a continuidade do tema entre outros aspectos relevantes a este assunto.

Referências Bibliográficas:

As referências bibliográficas serão apresentadas no último post desta série.

Sobre o autor

Thiago Richard Vanicore

Thiago Richard Vanicore formou-se em análise e desenvolvimento de sistemas, possui certificação ITIL Foundation V2 e entre seus conhecimentos estão: ASP .Net (WebForms/MVC5/Web API) C#, HTML5, Html/XHtml, CSS3, JQuery, JQuey Mobile, JavaScript, Xml, Ajax, Json, Microsoft SqlServer, MySql, Firebird, Azure, Visual Studio Online, Scrum, UML, CRM, Quality Assurance, CTI (Computer Telephony Integration) MPSBR (Melhoria de Processos do Software Brasileiro).

Link permanente para este artigo: http://linksinergia.com.br/2014/12/15/programacao-orientada-a-objetos-com-c-parte-2-1-classe/