Programação Orientado a Objetos

15
Programação Orientada a Objetos 1

Transcript of Programação Orientado a Objetos

Page 1: Programação Orientado a Objetos

1

Programação Orientada a Objetos

Page 2: Programação Orientado a Objetos

2

Introdução

De acordo com Furlan (2004:): a tecnologia de objetos apresentam comportamentos chaves que fundamentam o enfoco do processo de modelagem e desenvolvimento. Rumbaugh define a orientação a objetos como “uma nova maneira de pensar os problemas utilizando modelos organizados a partir de conceitos do mundo real.” Entretanto é de fato que,

Orientação a Objetos é o processo de construção de modelos do domínio do problema, identificando e especificando um conjunto de objetos que interagem e compartam-se conforme os requisitos estabelecidos para o sistema.

Page 3: Programação Orientado a Objetos

3

O que é Orientação a Objetos?

Orientação a objetos nada mais é um paradigma de desenvolvimento de software que tem como objetivo aproximar o mundo real do mundo virtual, a ideia é simular o mundo real dentro do computador, afinal nosso mundo é composto de objetos.

Page 4: Programação Orientado a Objetos

4

O que é uma Classe?Representa-se a classe como um projeto do objeto, ou seja, objeto é a instancia de uma classe, antes de ser criado um objeto deve-se definir a classe na qual ele pertence. A partir da classe podemos construir objetos na memória do computador que executa a aplicação.

Cachorro

Tamanho: intRaça: string

Latir ( ) método

Tipo Classe

Atributos Variáveis

Ações Métodos

Page 5: Programação Orientado a Objetos

5

O que é objeto? Objeto é a instancia de uma classe, cria-se um objeto após definir uma classe

para o mesmo. Na classe cachorro pode-se ter vários objetos, cada objeto pode possuir um atributo diferente.

Atributos são variáveis da classe

Tamanho: 50cm

Raça: buldog

Cor: marrom

orelha

patas

rabo

Page 6: Programação Orientado a Objetos

6

MétodosMétodos são ações que uma classe possui.

Ações (Métodos)

Fazer xixi

comer

correr

brincar

latir

dormir

Page 7: Programação Orientado a Objetos

7

Cachorro

Tamanho: intRaça: string

Latir ( ) método

Objeto NewNew

Classe nada mais é que um projeto de objeto podendo

instanciar vários objetos

Page 8: Programação Orientado a Objetos

É possível criar vários objetos em uma só classe. No exemplo da classe cachorro, foi definido outros objetos com atributos diferentes comportamentos diferentes, mas do mesmo jeito não deixa de ser um objeto.

O conceito disso em orientação a objetos isso é chamado de código reuso, ou seja, reutilização de código. Objetos trocam mensagem entre si, objetos trocam mensagem entre si e pode trocar atributo de outro objeto

Page 9: Programação Orientado a Objetos

9

Herança O conceito de Herança é um dos principais pilares na orientação a objetos, ou seja,

qualquer linguagem orientada a objetos, possui herança. As vantagens da utilização de herança pode diminuir a quantidade de códigos escrito no inicio do desenvolvimento do projeto. É chamada de Subclasse uma classe que herda os membros de uma classe superior á ela, sendo ela a Superclasse.

Superclasse -> fornece membros a outras classesSubclasse -> herda membros da subclasse

Page 10: Programação Orientado a Objetos

10

Animal

quadrúpedes

aquáticos

aves

SuperClasse

SubClasse

Nota: Uma superclasse pode ser herdada por diversas subclasses. Nesta imagem a classe Animal é herdada pelas classes: quadrúpede, aquáticos e aves, sendo assim, a superclasse Animal possui as mesmas características que as outras subclasses.

Page 11: Programação Orientado a Objetos

11

Veículo

Automóvel Aeronave

Outro exemplo usando o conceito de herança

Page 12: Programação Orientado a Objetos

12

Encapsulamento O encapsulamento significa separar o programa em partes o mais isoladas

possível, ou seja, proteger os atributos não deixando ser visível a outras classes. O encapsulamento protege o acesso direto (referências) aos atributos de uma instância fora da classe onde estes foram declarados, permite determinar a forma como os membros da classe serão expostos.

Exemplo: Pode ser determinado um o tipo de acesso para um determinado método usado que é usado em um software inteiro para que apenas uma equipe possa mexe-lo, ou seja, dependendo da regra de negócio isolar esse método para ter um melhor controle sobre o determinado método.

Page 13: Programação Orientado a Objetos

13

O membro não pode ser acessado fora da classe, nem mesmo por outras classes derivadas da classe base.

private

protected

internal

Protected-internal

public

O membro não pode ser acessado fora da classe, porém o membro está disponível paraoutras classes derivadas da classe base.

O membro só é visível na unidade de código onde o mesmo está definido. É um meio termo entre public e protected, uma vez que o membro pode ser acesso por todas as classes definidas na mesma unidade.

Torna o membro acessível de fora da definição da classe.

Quer tipo de código a partir de derivados ou de código da mesma assembleia. Combinação de protegidos ou internos.

Page 14: Programação Orientado a Objetos

14

Polimorfismo Em orientação a objetos polimorfismo é a capacidade que os objetos

possuem, de agir de forma quase totalmente diferenciada mesmo que possuem a mesma origem. Polimorfismo significa muitas formas, pode se enviar uma mensagem para diferentes objetos e fazê-los responder da maneira certa.

Sobrecarga de método -> A utilização da sobrecarga de métodos realiza a tarefa com distintos parâmetros de entrada. Ex: posso ter dois métodos chamado com o mesmo nome mas com comportamentos diferentes e parâmetros diferentes.

Sobrescrita de método -> Métodos com o mesmo nome, mesma assinatura, comportamentos diferentes, mas em classes diferentes e originadas de uma classe pai.

Page 15: Programação Orientado a Objetos

15

Fim