Obra: Introdução à programação/Orientação a objetos
Matéria: Português
orientação objeto um paradigma de análise orientada ao objeto projeto orientado ao objeto linguagem de programação de sistemas de software baseado na composição interação entre diversas unidades de software chamadas objetos em alguns contextos prefere se usar modelagem de dados orientada ao objeto em vez de projeto orientado ao objeto análise projeto orientados objetos têm como meta identificar melhor conjunto de objetos para descrever um sistema de software funcionamento deste sistema se dá através do relacionamento troca de mensagens entre estes objetos hoje existem duas vertentes no projeto de sistemas orientados objetos projeto formal normalmente utilizando técnicas como notação uml processos de desenvolvimento como rup programação extrema que utiliza pouca documentação programação em pares testes unitários na programação orientada objetos implementa se um conjunto de classes que definem os objetos presentes no sistema de software cada classe determina comportamento definidos nos métodos estados possíveis atributos de seus objetos assim como relacionamento com outros objetos smalltalk modula eiffel perl python ruby php java vala são as linguagens de programação mais importantes com suporte orientação objetos conceitos classe representa um conjunto de objetos com características afins uma classe define comportamento dos objetos através de métodos quais estados ele capaz de manter através de atributos exemplo de classe humano uma classe tem como atributos braços pernas cabeça etc objeto uma instância de uma classe um objeto capaz de armazenar estados através de seus atributos reagir mensagens enviadas ele assim como se relacionar enviar mensagens outros objetos exemplo de objetos da classe humanos objeto portanto uma discriminação da classe sendo classe uma generalização de um conjunto de objetos idênticos ou com mesma base mensagem uma chamada um objeto para invocar um de seus métodos ativando um comportamento descrito por sua classe herança mecanismo pelo qual uma classe subclasse pode estender outra classe superclasse aproveitando seus comportamentos métodos estados possíveis atributos há herança múltipla quando uma subclasse possui mais de uma superclasse essa relação normalmente chamada de relação um um exemplo de herança mamífero superclasse de humano ou seja um humano um mamífero associaçã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 tecla parte de um telefone encapsulamento consiste na separação de aspectos internos externos de um objeto este mecanismo utilizado amplamente para impedir acesso direto ao estado de um objeto seus atributos externamente apenas os métodos que alteram estes estados exemplo abstração habilidade de concentrar se nos aspectos essenciais de um contexto qualquer ignorando características menos importantes ou acidentais em modelagem orientada objetos uma classe uma abstração de entidade
menos importantes ou acidentais em modelagem orientada objetos uma classe uma abstração de entidades existentes no domínio do sistema de software polimorfismo permite que uma referência de um tipo de uma superclasse tenha seu comportamento alterado de acordo com instância da classe filha ela associada polimorfismo permite criação de superclasses abstratas ou seja com métodos definidos declarados não implementados onde implementação ocorre somente nas subclasses não abstratas ver também livro programação orientada objetos poo que programação orientada objetos por joão henrique