Arquivo do Autor: Ramon Chiara

Sobre Ramon Chiara

Sou Bacharel em Ciências da Computação pelo Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo (ICMC-USP) e Mestre em Ciências da Computação e Matemática Computacional pela mesma instituição. Já trabalhei como desenvolvedor, líder de equipe e sócio em empresas do Pólo Tecnológico de São Carlos e também em São Paulo. Em 2002, fui co-autor do livro "Aprendendo Java 2". Também fui professor universitário durante 11 anos, lecionando disciplinas ligadas à programação em faculdades como Universidade Paulista, Centro Universitário Senac, entre outras. Trabalho desde 2011 no Tribunal Regional do Trabalho da 2ª Região onde desenvolvi sistemas web em Java e, desde 2017, integro a equipe de resposta a incidentes de segurança da informação. Tenho, na fotografia, um pouco de intuição nesse meu mar cartesiano!

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