Download - Orientação a Objetos
Edy Segura - [email protected] em Ciência da Computação pela FAI.Cursando pós-graduação em Engenharia Web pela UNIFEI.
Orientação a Objetos
A orientação a objetos (OO), também conhecida como Programação Orientada a 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 composição e interação entre diversas unidades de software chamadas de objetos.
Introdução à orientação a objeto
• Classe• Objeto• Atributos• Métodos• Sobrecarga• Herança• Associação• Encapsulamento• Abstração• Polimorfismo
Conceitos fundamentais do mundo OO
Uma classe define o objeto com comportamento, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos.
Classe
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.
Objeto
São dados ou informações do 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.
Atributos
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.
Métodos
É 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.
Sobrecarga
É o mecanismo pelo qual uma classe (classe-filha) pode estender outra classe (classe-mãe), aproveitando seus comportamentos (métodos) e estados possíveis (atributos).
Mamífero é classe-mãe de Humano (classe-filha).
Herança
Consiste na separação de aspectos internos e externos de um objeto.
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.
Encapsulamento
É 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.
Abstração
É o princípio pelo qual duas ou mais classes derivadas de uma mesma classe-mãe podem invocar métodos que têm a mesma assinatura.
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.
Polimorfismo
É o princípio pelo qual duas ou mais classes derivadas de uma mesma classe-mãe podem invocar métodos que têm a mesma assinatura.
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.
Polimorfismo
Smalltalk, Perl, Python, Ruby on Rails, PHP, ColdFusion, C++, Object Pascal (Delphi), Java, JavaScript, ActionScript (Flash), C#, ASP.NET e VB.NET são exemplos de linguagens de programação com suporte a orientação a objetos.
Linguagens de programação com suporte a OO
http://del.icio.us/wdedy/object-oriented
Referências