Imprimir Post

Programação Orientada a Objetos com C# – Encerramento

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.

Namespace - Relembre - Link Primeiro Post

Palavras-chaves:

Interface, Encapsulamento, Herança, Polimorfismo, Propriedades, Classe.

Texto:

Ao ajustar o Namespace de cada elemento estabelecido no cenário sistema metropolitano (vide post anterior), para o encerramento, será apresentado um pequeno resumo de esclarecimentos pertinentes a cada parte da série Programação Orientada a Objetos com C#.

Namespace - Relembre - Link Post Anterior

Programação Orientada a Objetos com C# (Parte 1) – Introdução

  • A definição de Objeto é uma abstração de elementos do mundo real. Em um sistema de transporte metropolitano, por exemplo, existem os Objetos: metrô, passageiros, maquinistas, bancos, placas, funcionários, bilhetes, entre outros.
  • Objetos são formados por Estados (suas características ou Variáveis) e Comportamentos (suas ações ou Métodos).

Programação Orientada a Objetos com C# (Parte 2) – 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.
  • Classes 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.
  • Existem dois tipos de Classes, a Classe Padrão utilizada para execução da aplicação (contém o método Main) e a Classe de Objetos usada para criação de objetos.
  • A declaração da classe é a configuração de como uma classe irá gerar seus objetos.
  • Assim como um ser humano, classes possuem corpo e membros. 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 (inicialmente interpretados como Estados e Comportamentos do Objeto), além de dados como eventos, propriedades, entre outros. Unidos, estes dados formam os chamados: Membros da Classe.
  • A declaração para criação de um objeto, o acesso a seus membros e consequentemente a execução de uma Aplicação necessita do arranjo onde exista tanto a Classe Padrão quanto a Classe de Objetos, além dos modificadores de acessos bem definidos.

Programação Orientada a Objetos com C# (Parte 3) – Encapsulamento

  • Encapsulamento é capacidade de restringir o acesso direto a determinados membros de uma classe e consequentemente traçar um caminho de maior confiabilidade e segurança para a Aplicação através do código.
  • Uma das declarações para utilização do Encapsulamento necessita do arranjo onde exista a privação direta de uma variável específica e a concessão de acesso a esta (com o uso dos modificadores de acesso) através de um método público.
  • Dependendo do cenário, um outro efetivo é a utilização de Propriedades da Classe eliminando a criação de métodos como forma de Encapsulamento.

Programação Orientada a Objetos com C# (Parte 4) – Herança

  • Quando Classes e, Objetos criados a partir destas possuem características iguais, deve-se reavaliar a construção das Classes, entender o contexto vivido e, caso seja possível, utilizar uma técnica chamada Herança.
  • A utilização de Herança consiste, portanto, em criar uma classe exclusiva para abstrair classes que possuam características iguais. Esta classe exclusiva será conceitualmente entendida como Classe Pai ou Classe Base, irá retirar as características duplicadas das classes que a originaram e, posteriormente, irá sentenciá-las como Classes Descendentes.

Programação Orientada a Objetos com C# (Parte 5) – Polimorfismo

  • Quando métodos de nomes iguais em Classes Descendentes são sobrescritos (override) individualmente com comportamentos diferentes comparados a classe Herdada (virtual), ocorre o chamado Polimorfismo. Isso não invalida a utilização do método original da classe Herdada desde que, em sua utilização, seja feita uma chamada explícita para esta classe (base.Método()).

Programação Orientada a Objetos com C# (Parte 6) – Interface

  • Quando Classes em comum, necessitam implementar membros obrigatórios para garantir a segurança e integridade de suas regras, deve-se utilizar uma técnica chamada Interface.
  • A utilização de Interface consiste, portanto, em criar uma estrutura exclusiva para declarar membros, sendo que estes membros, deverão ser implementados obrigatoriamente por classes que irão servir-se desta Interface.

Programação Orientada a Objetos com C# (Parte 7) – Namespace

  • Namespace é um Escopo ou seja, um espaço que delimita onde começa e onde termina uma intenção ou um objetivo. Dentro da Programação Orientada a Objetos com C#, uma vez que um projeto do tipo ConsoleApplication por exemplo, é criado através do Microsoft Visual Studio, este por padrão se encarrega de determinar o Namespace com o mesmo nome do projeto criado para cada elemento adicionado posteriormente a este projeto, seja Classe, Interface entre outros. Porém a boa prática neste caso é determinar ou alterar o Namespace de maneira a oferecer relevância a modularização e crescimento da Aplicação geralmente com a estrutura nome-da-empresa.nome-do-projeto.módulo-do-sistema.

Considerações Finais:

Esta publicação encerra a série Programação Orientada a Objetos com C#, deixando em evidência todos princípios, conceitos, técnicas e elementos básicos que compõe este tema e foram abordados ao longo desta série.

Referências Bibliográficas:

–  http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos

– Livro Java 6 Ensino Didático – Desenvolvendo e Implementando Aplicações

– https://docs.oracle.com/javase/tutorial/java/concepts/index.html

– http://pt.wikipedia.org/wiki/Abstra%C3%A7%C3%A3o_(programa%C3%A7%C3%A3o)

– https://docs.oracle.com/javase/tutorial/java/concepts/index.html

– https://br.answers.yahoo.com/question/index?qid=20061108125004AAuTy8I

– http://www.youtube.com/watch?v=g5G0qE7Lf0A

– http://pt.wikipedia.org/wiki/Abstra%C3%A7%C3%A3o

– http://msdn.microsoft.com/pt-br/library/x9afc042.aspx

– http://pt.wikipedia.org/wiki/Modificador_de_acesso

– http://pt.wikibooks.org/wiki/Programa%C3%A7%C3%A3o_Orientada_a_Objetos/Classes_e_Objetos

– http://msdn.microsoft.com/pt-br/library/0b0thckt.aspx

– http://msdn.microsoft.com/pt-br/library/ms173121.aspx

– http://pt.stackoverflow.com/questions/14490/aloca%C3%A7%C3%A3o-de-mem%C3%B3ria-em-c-tipos-valor-e-tipos-refer%C3%AAncia

– http://msdn.microsoft.com/pt-br/library/ms228593.aspx

– https://www.caelum.com.br/apostila-csharp-orientacao-objetos/namespaces/

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/2016/12/21/programacao-orientada-a-objetos-com-c-encerramento/