Os principais conceitos da programação orientada a objetos são: Classe, Objeto, Atributo, Método, Mensagem, Herança, Encapsulamento e Polimorfismo. A orientação a objetos modela o mundo real através destes conceitos, representando entidades como classes e seus estados e comportamentos como atributos e métodos.
1. Orientação a objetos - Wikipédia http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada...
Orientação a objetos
Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Programação orientada a objectos)
Orientação a objetos
A orientação a objetos, também conhecida como Programação Orientada a
Objeto
Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um
paradigma de análise, projeto e programação de sistemas de software baseado na Classe
composição e interação entre diversas unidades de software chamadas de objetos.
Instância
Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de
projeto. Abstração
Métodos
A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto Atributo
de objetos para descrever um sistema de software. O funcionamento deste sistema se
Encapsulamento
dá através do relacionamento e troca de mensagens entre estes objetos.
Herança
Na programação orientada a objetos, implementa-se um conjunto de classes que
definem os objetos presentes no sistema de software. Cada classe determina o Herança múltipla
comportamento (definidos nos métodos) e estados possíveis (atributos) de seus
objetos, assim como o relacionamento com outros objetos. Polimorfismo
Outras referências
Smalltalk, Python, Ruby, C++, Object Pascal, Java e C# são exemplos de linguagens Padrões de projeto
de programação orientadas a objetos.
UML
Perl (a partir do 5), PHP (a partir do 4.0), ColdFusion, Javascript, ActionScript e Engenharia OO
VB.NET são exemplos de linguagens de programação com suporte a orientação a
objetos.
Índice
Conceitos fundamentais
Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento
dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de
classe: Os seres humanos.
Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos
e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
Exemplo de objetos da classe Humanos: João, José, Maria.
Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe.
Exemplos: Funcionário: nome, endereço,telefone, CPF, ....; Carro: nome, marca, ano, cor, ...; Livro:
autor, editora, ano. Por sua vez, os atributos possuem valores. Por exemplo, o atributo cor pode conter o
valor azul.
Métodos definem as habilidades dos objetos. Bidu é uma instância da classe Cachorro, portanto tem
habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é
apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu.
Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular; Todos os
1 of 3 8/3/2008 04:23
2. Orientação a objetos - Wikipédia http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada...
cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente, uma classe possui
diversos métodos, que no caso da classe Cachorro poderiam ser sente(), coma() e morda().
Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento
descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma
invocação a um método estático).
Sobrecarga é a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades
distintas. Geralmente diferencia-se os métodos pela sua assinatura.
Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe
(super-classe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Há Herança
múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada
de relação quot;é umquot;. Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é
um mamífero.
Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma
associação simples quot;usa umquot; ou de um acoplamento quot;parte dequot;. Por exemplo: Um humano usa um
telefone. A tecla quot;1quot; é parte de um telefone.
Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é
utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos),
disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa
conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses
detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os sinais de tom).
Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando
características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma
abstração de entidades existentes no domínio do sistema de software.
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem
invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos
distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo
da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe
derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de
polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o
mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o
mecanismo de sobrecarga de métodos.
Interface é um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface,
ela está comprometida a fornecer o comportamento publicado pela interface [1].
Pacotes são referências para organização lógica de classes e interfaces [1].
Referências
1. ↑ 1,0 1,1 http://java.sun.com/docs/books/tutorial/java/concepts/
Ver também
Padrões de projeto de software
Framework
2 of 3 8/3/2008 04:23
3. Orientação a objetos - Wikipédia http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada...
Classes
Ligações externas
Página oficial da UML (http://www.uml.org/) (em inglês)
cfoop.org OOP para ColdFusion (http://www.cfoop.org/) (em inglês)
Referências Bibliográficas
Carlos Sica. PHP Orientado a Objetos - Fale a Linguagem da Internet. 1.ed. Rio de Janeiro: Ciência
Moderna, 2006.
Pablo Dall'Oglio. PHP Programando com Orientação a Objetos (http://www.adianti.com.br/phpoo) :
Inclui Design Patterns. 1.ed. São Paulo: Novatec, 2007. 576 p. ISBN 978-85-7522-137-2
Alexandre Altair de Melo e Mauricio G. F. Nascimento. PHP Profissional
(http://www.novatec.com.br/livros/phppro) : Aprenda a desenvolver sistemas profissionais orientados a
objetos com padrões de projeto. 1.ed. São Paulo: Novatec, 2007. 464 p. ISBN 978-85-7522-141-9
Obtido em quot;http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetosquot;
Categorias: Engenharia de software | Programação orientada a objetos
Esta página foi modificada pela última vez a 22h25min, 7 de Março de 2008.
O texto desta página está sob a GNU Free Documentation License.
Os direitos autorais de todas as contribuições para a Wikipédia pertencem aos seus respectivos autores
(mais informações em direitos autorais).
3 of 3 8/3/2008 04:23