Criação de Classes e Objetos

No post sobre o Paradigma Orientado a Objetos, vimos qual era a idéia por trás de classes e objetos:

  • A classe encapsula em um único lugar dados e as funções que atuam sobre esses dados; ela representa uma abstração. No exemplo dado, a classe representava a abstração aluno. Em outras palavras, ela representa a coleção dos possíveis alunos existentes em nosso sistema.
  • Já o objeto representa um indivíduo de uma determinada classe (coleção). No exemplo dado, criamos um objeto (ou instância) da classe aluno cujos dados serão informados pelo usuário. Também é com os objetos que “conversamos”, ou seja, enviamos mensagens. No exemplo, “pedimos” para o aluno calcular a sua média e verificar se ele passou. Em outras palavras, enviamos a mensagem calculaMedia() e a mensagem verificaSePassou().

Neste post, vamos ver como é feita a construção de classes e qual a nomenclatura que usamos nas suas diversas partes.
Continue lendo

Apostilas

Apostilas sobre Orientação a Objetos

Seguem algumas apostilas sobre Orientação a Objetos com C# e Java:

Agradecimentos à Thais Nunes pela dica das apostilas da Caelum em PDF.

Exercício de Programação – Papelaria

Neste exercício de programação, você está criando um sistema para uma papelaria e há vários produtos que devem ser gerenciados. Cada produto tem uma descrição e um preço e eles podem ser incluídos, alterados ou removidos do sistema.
Continue lendo

O Paradigma Orientado a Objetos

No post anterior, vimos sobre um tipo de abstração que eu chamo de abstração de algoritmos, ou seja, dentro do seu algoritmo principal há trechos de outros algoritmos. Vimos, também, que essas abstrações podem ser encapsuladas em funções e que isso melhora a:

  • Expressividade no momento de escrever os algoritmos.
  • Clareza no entendimento dos mesmos.
  • Capacidade de reuso de suas partes.
  • Flexibilidade em alterá-los.

Continue lendo

O Paradigma Procedimental

Para entendermos o Paradigma Procedimental é interessante que vejamos, antes, o que são procedimentos. Para isso, considere o problema de escrever um algoritmo que lê um número inteiro n e calcula o seu fatorial. Podemos chegar ao seguinte programa:
Continue lendo