introdução a orientação a objetos aula 5 professor: italo rodrigues castro

Post on 07-Apr-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução a Orientação a Introdução a Orientação a ObjetosObjetos

Aula 5Aula 5

Professor: Italo Rodrigues CastroProfessor: Italo Rodrigues Castro

Conceitos OO

A análise OO para o desenvolvimento de software baseia-se na utilização de objetos que colaboram para construir sistemas mais complexos.

A colaboração entre objetos é feita através de envio de mensagens.

Conceitos OO OO produz modelos que especificam o domínio do problema de

um sistema.

Utilizam uma linguagem de programação Orientada a Objetos (Java, C#).

Não basta apenas utilizar os mecanismos de sua linguagem de programação, deve-se saber utilizar da melhor maneira possível todas as técnicas da modelagem OO.

Princípios OO1. Qualquer coisa é um objeto.2. Objetos realizam tarefas através da requisição de serviços a

outros objetos.3. Cada objeto pertence a uma determinada classe. Uma

classe agrupa objetos similares.4. A classe é um repositório para comportamento associado ao

objeto.5. Classes são organizadas em hierarquias.

Características OO

Reuso – Redução do tempo de desenvolvimento e manutenção de código.

Modularidade – É a qualidade de um módulo que garante a sua capacidade de extensão e reuso. (Módulo= Baixo acoplamento + Alta coesão). (Associação e herança).

Características OO

Abstração - é qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes.

7

Objetos como abstrações

Uma abstração é uma representação das características relevantes de um conceito do mundo real para um determinado problema.Carro (para uma transportadora de cargas)Carro (para uma fábrica de automóveis)Carro (para um colecionador)Carro (para uma empresa de kart)Carro (para um mecânico)

8

Abstração Abstração depende do observador.

Características OO

Características OO

Uso do polimorfismo – Utilização de objetos semelhantes, mas não idênticos.

Homem

Televisor (Jogo de futebol?!)

Mulher

Características OO

Não se preocupa com detalhes de implementação, quando um objeto é criado você deve se preocupar somente em usá-los.

É uma forma de restringir o acesso ao comportamento interno de um objeto. (Encapsulamento).

Características OO

Pizzaria

Analogia

13

Orientação a Objetos

Um sistema de software orientado a objetos consiste de objetos em colaboração com o objetivo de realizar as funcionalidades deste sistema. Cada objeto é responsável por tarefas específicas. É através da cooperação entre objetos que a computação do sistema se desenvolve.

14

Conceitos da Orientação a Objetos

Classes e objetos Mensagens Encapsulamento Polimorfismo Herança

15

Classes e objetos

O mundo real é formado de coisas. Na terminologia de orientação a

objetos, estas coisas do mundo real são denominadas objetos.

16

Classes e objetos

Importante: uma classe é uma abstração das características relevantes de um grupo de coisas do mundo real. Na maioria das vezes, um grupo de objetos do

mundo real é muito complexo para que todas suas características sejam representadas em uma classe.

Uma classe representa a estrutura de um objeto.

17

Classes e objetos

Disciplina

código: Stringnome: Stringcréditos:NumhorasSemanais:Num

AlterarDados()

Nome da classe

Atributos

Métodos

Estrutura de uma classe

18

Classes e objetos

public class TEsfera {float raio;float velocidade;float direcao;

public void atribuiVelocidade(float v){velocidade = v;

}};

19

Classe X Objeto Classes são definições estáticas, que

possibilitam o entendimento de um grupo de objetos.

Objetos são abstrações de entidades que existem no mundo real.

Objeto é uma instância de uma classe.

20

Mensagens Para que um objeto realize alguma tarefa,

deve haver um estímulo enviado a este objeto.

Pense em um objeto como uma entidade ativa que representa uma abstração de algo do mundo realEntão faz sentido dizer que tal objeto pode

responder a estímulos a ele enviadosAssim como faz sentido dizer que seres

vivos reagem a estímulos que eles recebem.

21

Mensagens

Independentemente da origem do estímulo, quando ele ocorre, diz-se que o objeto em questão está recebendo uma mensagem.

Uma mensagem é uma requisição enviada de um objeto a outro para que este último realize alguma operação.

22

Mensagens

Objetos de um sistema trocam mensagens isto significa que estes objetos estão

enviando mensagens uns aos outros com o objetivo de realizar alguma tarefa dentro do sistema no qual eles estão inseridos.

23

Mensagens

24

Abstração na orientação a objetos

A orientação a objetos faz uso intenso de abstrações. Os princípios da orientação a objetos podem ser

vistos como aplicações do Princípio da Abstração. Princípios:

Encapsulamento Polimorfirmo Herança

25

Encapsulamento

Objetos possuem comportamento. O termo comportamento diz respeito a que

operações são realizadas por um objeto e também de que modo estas operações são executadas.

26

Encapsulamento O encapsulamento é uma forma de restringir o

acesso ao comportamento interno de um objeto.Um objeto que precise da colaboração de

outro objeto para realizar alguma tarefa simplesmente envia uma mensagem a este último.

O método (maneira de fazer) que o objeto requisitado usa para realizar a tarefa não é conhecido dos objetos requisitantes.

27

Encapsulamento

Na terminologia da orientação a objetos, diz-se que um objeto possui uma interface.

A interface de um objeto é o que ele conhece e o que ele sabe fazer, sem descrever como o objeto conhece ou faz.

A interface de um objeto define os serviços que ele pode realizar e conseqüentemente as mensagens que ele recebe.

28

Encapsulamento Uma interface pode

ter várias formas de implementação.

Mas, pelo Princípio do Encapsulamento, a implementação de um objeto requisitado não importa para um objeto requisitante.

29

Encapsulamento

default Somente classes do mesmopackage possuem acesso

public Todos possuem acesso

protect Apenas os membros da classe e subclasse

private Apenas os membros da classe

30

Polimorfismo É a habilidade de

objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras.

Homem

Televisor (Jogo de futebol?!)

Mulher

31

Polimorfismo

public class Empregado{

protected float salario;public float getSalario() {return salario;}

}

public class Vendedor extends Empregado{

protected float comissao;public float getSalario() {

return salario+comissao;}

}

Polimorfismo

public class Empregado{

protected float salario;public void aumento() {salario= salario*10.0;}public void aumento(float porcent) {salario= salario*porcent;}

}

33

Herança

A herança pode ser vista como um nível de abstração acima da encontrada entre classes e objetos.

Na herança, classes semelhantes são agrupadas em hierarquias.Cada nível de uma hierarquia pode ser visto

como um nível de abstração.Cada classe em um nível da hierarquia herda

as características das classes nos níveis acima.

34

Herança A herança facilita o

compartilhamento de comportamento entre classes semelhantes.

As diferenças ou variações de uma classe em particular podem ser organizadas de forma mais clara.

35

Herançaclass Empregado{

protected float salario;public float getSalario() {return salario;}

}

class Vendedor extends Empregado{

protected float comissao;public float getSalario() {return salario+comissao;}

}

top related