Orientacao a Objetos

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Orientacao a Objetos - Presentation Transcript

    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 \"é um\". 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 \"usa um\" ou de um acoplamento \"parte de\". Por exemplo: Um humano usa um telefone. A tecla \"1\" é 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 \"http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos\" 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

    + Robson Silva EspigRobson Silva Espig, 2 years ago

    custom

    1242 views, 0 favs, 0 embeds more stats

    More info about this document

    CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

    Go to text version

    • Total Views 1242
      • 1242 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 25
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags