Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Orientação à Objetos

Uma rápida apresentação sobre um assunto tão comentado ultimamente.

Este é o meu primeiro artigo aqui no DevMedia e vou apresentar aqui o paradigma da Orientação a Objetos. Este não é uma novidade e na web é possível encontrar um bom conteúdo sobre o assunto, porém muitas pessoas, inclusive profissionais da área(programadores) ainda confundem e se sentem ‘incomodados’.

Bom, mas o que é Orientação a objetos?

“Orientação a Objetos é um termo geral que inclui qualquer estilo de desenvolvimento que seja baseado no conceito de ‘objeto’ – uma entidade que exibe características e comportamentos. Visão do mundo em ‘objetos’.”

Ela é a abstração, por meio do software, de objetos do mundo real. O foco da POO não é executar uma sequência de procedimentos. Aqui os objetos interagem entre si(passagem de mensagem/chamada de método) orientando o fluxo do programa.

Para uma melhor compreensão, vamos entender alguns conceitos básicos:

Classe é a definição da estrutura de um objeto. Nela são definidos os atributos(variáveis internas do objeto) e os métodos(comportamento do objeto). É a partir das classes que os objetos são criados. Um exemplo prático é o projeto de um carro, onde não temos o carro propriamente dito, e sim a definição das características(cor, modelo, peso) e comportamentos(aceleração, velocidade).

Objeto é uma instância de classe. Pegando o exemplo da classe, cada carro fabricado seria um objeto.

“Um objeto é uma construção de software que encapsula estado e comportamento. Os objetos permitem que você modele seu software em termos reais e abstrações.”

Herança é o mecanismo de uma classe(subclasse) estender a definição de uma outra classe(superclasse). Por exemplo, a subclasse homemherda da superclasse mamífero.

Polimorfismo é a capacidade de um método(comportamento) ser implementado de diversas maneiras nas subclasses. Por exemplo, imagine o método locomoção da superclasse mamífero: a implementação para a subclasse homem é diferente da subclasse morcego.

Encapsulamento consiste na proteção dos atributos de um objeto, ou seja, não permite que um atributo seja acessado diretamente. Quanto maior o encapsulamento, menor é o acoplamento entre as classes. Isso garante a reusabilidade , recurso importante para orientação à objetos e desenvolvimento de software.

Atributos são variáveis internas do objeto e seus valores definem o estado do mesmo.

Método é o comportamento que o objeto tem. Quando encapsulados, os atributos são alterados através dos métodos. Temos os métodos construtores que são chamados durante a instanciação do objeto;métodos acessadores(em Java são os getters) usados para retornar o valor dos atributos e o métodos mutantes(em Java são os setters) usados para alterar o valor dos atributos.

Bom, é isso. Aqui dei apenas um pontapé inicial sobre Orientação a Objetos. Fiquem à vontade  para comentar, sugerir e criticar, pois, acredito que é dessa maneira que conseguimos ampliar o nosso conhecimento. Qualquer dúvida me mande um e-mail que responderei com grande prazer.


Até a próxima…


Referência Bibliografica

Sintes, Anthony. Aprenda Programação Orientada a Objetos em 21 Dias. São Paulo. Pearson Education do Brasil, 2002.





    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Willian Rodrigues Santana

Muito bom Eduardo,
Estava com incertezas sobre a orientação a objetos e antes que eu tirasse dúvidas com o professor Pavão, encontrei um rapaz da minha sala... rsrs
espero ver outros artigos seus
abraço


em 15/8/2010 16:03 - Responder

 

[Comentário do autor]   Eduardo Januario Gomes
Obrigado William!

Se precisar é só falar... Terei o maior prazer em contribuir...

Até mais,

Eduardo.


em 4/9/2010 17:55 - Responder
 



[Este post ainda não foi associado a uma sequência]
Autor
Eduardo Januario Gomes

Estudante da FATEC Mauá - Informática e Negócios. Trabalha com desenvolvimento Web à 3 anos utilizando as tecnologias PHP, CSS, Javascript(jQuery), MySQL, Oracle, PostgreSQL e Java.


Space do autor
Estatísticas #
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03