Por que eu devo ler este artigo:Este artigo trata de fazer uma abordagem teórica e prática sobre os principais conceitos da POO (Programação Orientada a Objetos), explorando temas importantes como o encapsulamento, herança e polimorfismo. O leitor terá a oportunidade de conhecer os paradigmas de programação que antecederam o principal paradigma usado atualmente, o paradigma da programação orientação a objetos.

Este artigo também fala a respeito do surgimento da orientação a objetos, desde o processo de abstração até o entendimento do objeto e suas características como a identidade, propriedades, estado e comportamento, para que seja possível mostrar ao leitor uma base inicial da orientação a objetos antes de mostrar exemplos práticos dos principais recursos da POO com a linguagem de programação C#.

Esse artigo abordará assuntos importantes a respeito da programação orientada a objetos. Aqui serão apresentados ao leitor os conceitos introdutórios à orientação a objetos, como o conceito de objetos e suas representações gráficas através dos diagramas da UML, chegando até a prática propriamente dita, onde iremos mostrar exemplos de como pôr em prática os conceitos da OO com a linguagem de programação C#.

Veremos como utilizar os conceitos de encapsulamento, herança, polimorfismo, dentre outros assuntos inerentes.

Os paradigmas das linguagens de programação

Antes de entrarmos no mundo da programação orientada a objetos, precisamos conhecer um pouco sobre os paradigmas das linguagens de programação de computadores, paradigmas estes que até os tempos atuais ainda dividem espaço junto à comunidade desenvolvedora de software, buscando a resolução de problemas no mundo real, criando soluções para os problemas de forma computadorizada, através do produto de software.

Antes da programação do software, o problema a ser resolvido deve ser analisado e transformado em uma documentação contendo aspectos fundamentais ao domínio do negócio e de sua solução, documentação esta que posteriormente servirá como base para desenvolver o produto de software, ou sistema computacional, que tenha como objetivo principal a resolução do problema central e assim possa cumprir com seu papel, atendendo a todas as necessidades a que se propõe.

Mas a final, o que é o tal paradigma? Podemos conceituar um paradigma como sendo uma visão, ou um ponto de vista, do mundo real (da realidade em que vivemos) e a forma de atuação sobre tal concepção. Resumindo, é a forma como o analista e o programador lidam com um determinado problema na busca de uma solução em forma de sistema de software.

Os paradigmas são classificados em imperativo, estruturado, funcional, lógico e orientado a objetos. Cada qual possui seus conceitos e métodos de como abordar um determinado problema do mundo real para elaborar e propor uma solução para o mesmo.

Há seguir conheceremos um pouco sobre os paradigmas das linguagens de programação:

  • Paradigma Imperativo: o paradigma imperativo foi o primeiro paradigma a existir. Também é conhecido como paradigma procedural e trata de resolver um problema com comandos (instruções) um após o outro, até sua solução, ou seja, de forma sequencial.

    A arquitetura de computadores exerce uma forte influência para projetar uma linguagem de programação, assim sendo, as linguagens consideradas imperativas têm como base a tão conhecida arquitetura de computadores de Von Neumann.

    A linguagem de programação imperativa tem algumas características como: as variáveis que reservam os espaços na memória, comandos para atribuição e transferência de dados, execução sequencial das instruções e a possibilidade de repetição de blocos de instrução.

    Podemos considerar como linguagens imperativas o ALGOL, Assembler, Basic, Pascal, Cobol, C, Fortran e etc.

  • Paradigma Estruturado: este paradigma é caracterizado pela forma de programação que deve ser composta por três estruturas simples: sequência, decisão e iteração. Na prática, é uma programação modular, onde a estrutura de um programa deve ser simples e usar funções e sub-rotinas.

    Cobol, Pascal, Basic e C são exemplos de linguagem de programação estruturada.

  • Paradigma Funcional: o propósito deste paradigma é dividir um problema em partes menores (funções) que recebem dados de entrada e retornam dados na saídas para a base chamadora.

    Dessa forma, este paradigma busca na programação resolver o problema central através da divisão do problema em partes menores e, ao final do processamento, mostrar o resultado. A linguagem LISP é baseada no modelo funcional.

  • ...

    Quer ler esse conteúdo completo? Tenha acesso completo