Depois de um tempo sem postar nada no Grupo Haw por causa da faculdade (provas e trabalhos), eu decidi escrever sobre um assunto bem básico, que é Orientação a Objetos. Pelo que eu vejo é Orientação a Objetos uma das maiores dificuldades de quem está iniciando em Java.
Eu mesmo tive certa dificuldade em entender Orientação a Objetos, e na minha cabeça sempre apareciam perguntas do tipo:
Pra que tantas classes?
• Por que eu não coloco todo o código na mesma classe?
• E essa lógica, eu tenho que usar três métodos pra fazer isso, mas eu poderia fazer em um método só.
Então eu resolvi escrever sobre orientação a objetos, um termo que antes de ser aprendido até parece um bicho de sete cabeças. Não que seja fácil, pois eu estou a cada dia aprendendo mais, e a cada artigo, blog e livro que eu leio, os conceitos vão se "clareando" mais na minha cabeça.
Mas, vamos ao que interessa...
O conceito de Programação Orientada a Objetos (POO) foi baseado na lógica da natureza, pois as coisas na natureza já existem por si só, muito antes de se pensar em computadores ou em sistemas. Na natureza não temos fatos isolados, as coisas interagem entre si, e todas essas coisas se comunicam através de mensagens.
A programação orientada a objetos tenta se aproximar ao máximo da natureza, trazendo o mundo real para os sistemas, onde tudo que na natureza nós chamamos de coisa passa a ser chamado de objetos. E é assim que chamaremos as coisas de agora em diante, tudo é objeto.
Todos os objetos (coisas na natureza) possuem características que os tornam únicos, e nos permite identificá-los. E é com essas características que vamos levá-los ao nosso sistema, tornando nosso programa mais parecido com o mundo real. Para exemplificar esse conceito vamos pensar em um veículo, como descreveríamos um veículo do mundo real?
O veículo é uma coisa que possui uma cor, uma marca, quantidade de portas, modelo, e assim por diante. E agora pensando nas coisas que um veículo faz, podemos dizer que um veículo acelera, freia e buzina.
E voltando a abordagem de programação orientada a objetos, no nosso sistema tudo que um veículo tem passa a ser chamado de atributos, e tudo que ele faz passa a ser chamado de métodos, assim essa coisa que no mundo real nós chamamos de veículo, será um objeto veículo, com atributos e propriedades:
Atributos:
• Cor
• Marca
• Quantidade de portas
• Modelo
Métodos:
• Acelerar
• Frear
• Buzinar
Pensando em um sistema para uma escola, podemos modelar uma sala de aula inteira de modo orientado a objetos, desse modo teríamos: O objeto professor, o objeto aluno, o objeto aula, objeto cadeira, assim por diante. E todos os objetos desse exemplo possuem características que nos permite identificá-los.
Existem ainda diversas vantagens na programação orientada a objetos que serão explicadas em outra postagem, como a herança, generalização, especialização, polimorfismo, etc. E outro conceito que será explicado em breve é o de classes.
Por enquanto é isso...
Gabriel Rubens
sábado, 3 de outubro de 2009
Assinar:
Postar comentários (Atom)
Só sugiro uma correção...
ResponderExcluirquando foi dito: "e tudo que ele faz passa a ser chamado de propriedades.."
O mais apropriado seria Métodos...
ou seja
veículo = objeto
o que o veículo tem (características) = atributos
o que o veículo faz (acelerar, buzinar, frear) = Métodos...
masss... em geral, o post ficou bom de verdade... se quando começei a aprender POO tivesse tido uma explicação desse tipo, muita coisa teria fluído bem melhor..
dposkpdoskpdoska
Parabéns
Primeiramente, valeu pelo feedback...
ResponderExcluirEntão, eu deixei essa parte como propriedades, porque é desse jeito que eu vejo em algumas literaturas. Mas a sua observação faz sentido, pois só a palavra “propriedade” sem uma explicação de que em algumas literaturas pode estar escrito “método”, deixa um pouco confuso, e eu pretendia tratar as propriedades como métodos em um post sobre classes.
Mas, seu relato foi atendido, e eu já reeditei o post, espero que desse modo tenha ficado mais claro. Todas as sugestões serão muito bem vindas! Então se não estiver claro ainda é só escrever, que eu dou uma melhorada.
Abraço.