Orientação a Objetos

15
Edy Segura - [email protected] Bacharel em Ciência da Computação pela FAI. Cursando pós-graduação em Engenharia Web pela UNIFEI. Orientação a Objetos

description

Slide sobre orientação a objetos

Transcript of Orientação a Objetos

Page 1: 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

Page 2: 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

Page 3: Orientação a Objetos

• Classe• Objeto• Atributos• Métodos• Sobrecarga• Herança• Associação• Encapsulamento• Abstração• Polimorfismo

Conceitos fundamentais do mundo OO

Page 4: Orientação a Objetos

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

Page 5: Orientação a Objetos

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

Page 6: Orientação a Objetos

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

Page 7: Orientação a Objetos

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

Page 8: Orientação a Objetos

É 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

Page 9: Orientação a Objetos

É 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

Page 10: Orientação a Objetos

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

Page 11: Orientação a Objetos

É 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

Page 12: Orientação a Objetos

É 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

Page 13: Orientação a Objetos

É 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

Page 14: Orientação a Objetos

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

Page 15: Orientação a Objetos

http://del.icio.us/wdedy/object-oriented

Referências