Entendendo orientação a objetos na prática (parte 1)

Originalmente este artigo compõe uma série em meu site pessoal chamada "aprender programando". Nesta parte são expostos os conceitos fundamentais da orientação a objetos. Ao fim desta, espera-se que o leitor compreenda especialmente o conceito de encapsulamento e faça a diferenciação entre classes e objetos. Boa leitura!

[ Hits: 29.938 ]

Por: Isaque Vieira de Sousa Alves em 10/01/2010


Conclusão e referencias



Para não ficar muito cansativo, nem pra mim, nem pra quem ler, acho que basta. Na próxima parte apresento alguns exemplos ilustrando esses conceitos, inicio uma breve e básica explanação sobre conceitos importantes da linguagem Java e apresento a questão que servirá de base para aprofundarmos nosso entendimento.

Fontes de pesquisa:
  • J.E.D.I
  • O oráculo
  • Wikipedia
  • Imasters
  • DEITEL, H. M, e DEITEL, J. P. ; Java: Como Programar. Trad. Carlos Arthur L. Lisboa. 4ª ed. RS:Bookman, RS: Porto Alegre; 2003.
  • O'DOCHERTY, Mike. Object-Oriented Analysis and Design: Understanding System Development with UML 2.0. John Wiley and Sons, Ltd. 2005.

Fonte: Entendendo orientação a objetos na prática - parte 1 - isaquealves.com

Página anterior    

Páginas do artigo
   1. Apresentação
   2. Orientação a objetos - definição e histórico
   3. Conceitos básicos
   4. Conclusão e referencias
Outros artigos deste autor

Linux, a pirataria de software e a desvalorização do desenvolvedor (parte 2)

Linux, a pirataria de software e a desvalorização do desenvolvedor (parte 1)

GNU/Linux: Liberdade e Cosmovisão

Projetos de software livre descontinuados: um problema com solução

Diagnosticando problemas variados em ambientes GNU/Linux (parte 1)

Leitura recomendada

Portugol Online - Software livre para facilitar o estudo de algoritmos

JlGui - Java Media Player

Lançamento do GFP 0.1.4.5 - Gerenciador Financeiro Pessoal

Programando em Java para Console

Construindo uma aplicação JDialog

  
Comentários
[1] Comentário enviado por Feko em 10/01/2010 - 14:41h

Show de bola :D
Se for possível, na parte 2, aborde um pouco de operator overload. Isso tá bastante obscuro pra mim.

[2] Comentário enviado por mateusbarsotti em 11/01/2010 - 09:48h

Ótimo artigo, parabéns.
Um resumão muito bom. Vou salvar em arquivo e deixar como fonte de consulta. Estou estudando para certificação e isso vai me ajudar bastante.

Valeu

[3] Comentário enviado por isaque_alves em 11/01/2010 - 12:03h

Tá valendo moçada.

Olha, Feko, até onde sei e aprendi, Java, que é a linguagem que usarei nesta abordagem, não oferece a possibilidade de você implementar operator overloading.

C++ e C# sim.

Sobrecarregar operadores não é uma tarefa lá muito amiga. Muita gente sente muita dificuldade mesmo.
Basicamente o objetivo de sobrecarregar um operador é alterar seu comportamento para incluir outros possíveis operandos em sua esfera de ação. Por padrão, os operadores comuns (+, -, *, =, etc) só entendem argumentos baseados em tipos inteiros primitivos (int, char, byte, etc). Sobrecarregar pode oferecer uma nova funcionalidade, como por exemplo, 'somar' dois retângulos, ou duas circunferências (claro que isso é apenas uma situação hipotética... e meio pobre...).
Em suma, uma boa implementação usando operator overload requer antes de tudo, um ótimo entendimento de... Polimorfismo.

Alguns exemplos pra você ver melhor:
* http://bit.ly/4ZpbVl -> C# operator overload
* http://bit.ly/5dBMqS -> C++ operator overload

[4] Comentário enviado por everton_fuzz em 11/01/2010 - 15:27h

Acho que você só deve tomar cuidado com a definição de herança multipla.

"Ocorre quando uma classe herda suas características de mais de uma classe ou interface. Em Java, a herança múltipla é realizada pelo uso de implementações de interfaces."

Implementar uma interface nao é utilizar herança multipla, mas sim uma 'herança parcial', pois uma interface só possui métodos.

Java NAO incorpora herança multipla. Alguns dizem inclusive que Interfaces são 'gambiarras' inventadas para suprir a necessidade de utilizar caracteristicas de classes distintas.

No mais esta ótimo!, parabens pelo artigo!

Att.

Éverton

[5] Comentário enviado por isaque_alves em 11/01/2010 - 17:30h

Com certeza, Éverton...
Realmente Java não 'tem' herança múltipla de classes...
Talvez a infelicidade tenha sido usar a expressão "Em Java, a herança múltipla é realizada pelo uso de implementações de interfaces"...
Na verdade a herança múltipla é apenas simulada por meio de Interfaces.

[6] Comentário enviado por everton3x em 12/01/2010 - 09:34h

Parabéns pelo artigo. Muito esclarecedor, principalmente para quem tem dificuldade com OO.

[7] Comentário enviado por luizcarlos18rj em 15/04/2016 - 15:42h

Quando sai a parte 2? Eu aprendi programação estrutural orientada a eventos, nunca entendi OO


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts