29
Orientação a Objetos Introdução Introdução

Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Embed Size (px)

Citation preview

Page 1: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Orientação a Objetos

IntroduçãoIntrodução

Page 2: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Objetos: o que são?• Olhando o mundo real pode-se ver vários objetos:

mesa, cadeiras, alunos, professores etc.• Esses objetos no mundo real possuem duas

características básicas: todos possuem estados/propriedades e comportamentos/funcionalidades apropriados.

– Exemplo: um cachorro • estados: nome, raça.

• Comportamento: balançar rabo, enterrar osso.

Page 3: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Software e objetos

• Objetos no contexto de um software representam objetos do mundo real. Assim eles também possuem estados e comportamentos.

• Objetos registram seus estados em uma ou mais variáveis. Um objeto implementa seu comportamento utilizando-se de métodos. Um método é uma função ou uma subrotina que está associada a um objeto.

Page 4: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Definição

• Um objeto é um conjunto de variáveis e métodos correlacionados.

variáveisMétodo

Método

Método

Método

Método

Page 5: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Um Objeto

• Assim dados um determinado objeto, por exemplo o aluno João, este possui suas próprias variáveis e seus próprios métodos.

• Instância é outro nome de um objeto específico.– Assim as variáveis de um objeto específico são as

variáveis de instância, assim como os métodos de instância.

Page 6: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Encapsulamento

• O diagrama anterios mostra as variávesi do objeto ao centro. Os métodos a sua volta escondem as variáveis de outros objetos.

• O empacotamento destas variáveis é chamado de encapsulamento.

• Entretanto existe ainda possibilidade de se deixar certas variáveis de um objeto serem acessadas diretamente.

Page 7: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Encapsulamento

• O fato de encapsular variáveis e métodos sob o conceito de objetos possibilita dois importantes benefícios .– Modularidade.– Ocultação de informação.

Page 8: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Mensagens

• Um único objeto não é de muita serventia. Um programa possui vários objetos que se interrelacionam. É atraves destas inter-relações que os programa obtém sua funcionalidade.

• Os objetos se interrelacionam a partir de mensagem que trocam entre si.

Page 9: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Mensagens

Objeto A

Objeto B

Mensagem

Page 10: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Mensagens

• Invariavelmente, quando da comunicação entre objetos, é necessário a passagem de parâmetros para tornar a mensagem mais específica

Cliente

Garçom

SolicitarSuco(morango)

Page 11: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Mensagens

• Assim uma mensagem possui 3 componentes:– O objeto que receberá a mensagem.– A mensagem em si.– Qualquer parâmetro necessário para a mensagem.

Page 12: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Mensagens

• Mensagens possuem dois benefícios importantes:– As mensagem entre objetos envolvem

praticamente todo a manipulação de comportamento de um objeto.

– Um objeto não necessita estar em um mesmo processo, ou em uma mesma máquina para receber a mensagem.

Page 13: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Classes

• No mundo real tem-se muitos objetos de um mesmo tipo. Por exemplo alunos. Assim um determinado aluno é uma instância (objeto) de uma determinada classe.

• Em particular cada objeto possui suas próprias variáveis e métodos com seus próprios valores e comportamentos apropriados.

Page 14: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Classes

• Em software pode-se obter a vantagem do fato dos objetos compartilharem um conjunto de variáveis e métodos, ou seja serem do mesmo tipo.

• Pode-se criar um molde para se criar estes objetos. Este molde se chama classe.

Page 15: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Definição de Classe

• Uma classe é um molde de define as variáveis e os métodos comuns a todos todos os objetos de um determinado tipo.

Page 16: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Variáveis de Classe

• O classe pode possuir variáveis. Uma variável de classe possui informação que é compartilhada por todas as instâncias da classe.

• Exemplo, se os carros que saem de uma linha de produção possuem 4 rodas, então ao invés da variável número de rodas estar associada ao objeto, esta estaria associada a classe. Qualquer alteração neste valor implicaria na mudança de valor para todos as instâncias.

Page 17: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Métodos da Classe

• Uma classe também pode declarar um método de classe. Estes métodos somente podem ser chamados através da classe, enquanto que os métodos de instância somente podem ser chamados pelas respectivas instâncias.

Page 18: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Objetos e Classes

• Os objetos existem.

• As classes são apenas os moldes deste objetos.

variáveis

Método

Método

Método

Método

Método

As classes serão representados com fundo cinza para diferenciar do objetos de fundo transparente.

Page 19: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Herança

• Uma das vantagens dos sistemas orientados a objetos é que as classes podem ser definidas utilizando-se outras classes.

• Por exemplo, podemos definir a classe cadeira.– Sabemos que cadeira de rodas, cadeira de balanço e

cadeira escolar são também cadeiras.

– O que sabemos também é que cada uma destas cadeiras possui um conjunto particular de variáveis e comportamento.

Page 20: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Herança

variáveis

Método

Método

Método

Método

Método

variáveis

Método

Método

Método

Método

Método

variáveis

Método

Método

Método

Método

Método

variáveis

Método

Método

Método

Método

Método

Cadeira

Cadeira de Rodas Cadeira de balanço Cadeira escolar

Page 21: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Herança

• Neste caso as classes cadeira de rodas, cadeira escolar e cadeira de balanço herdam todos as variáveis e métodos definidos nas classe cadeira.

• Um subclasse pode adicionar novos métodos e variáveis específicos de sua característica.

• Entretanto uma subclasse pode sobrepor uma variável ou método herdado.

Page 22: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Herança

• Uma subclasse possibilita a especificação de comportamentos especializados. É através de herança que se pode se reutilizar código.

• Pode-se definir uma classe abstrata que define apenas os comportamentos. Fica a cargo das classes descendente a implementação destes métodos.

Page 23: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Polimorfismo

• Várias classes podem implementar uma mesmo método, porém de forma diferente.

• Exemplo:– o método CalcularArea de um polígono.– Classe Polígono e subclasses retângulo, quadrado,

triângulo.

Page 24: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Interfaces

• Um interface é uma declaração de um conjunto de métodos que não contém código de implementação.

• Uma classe pode implementar várias interfaces.

Page 25: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Exemplos em Java

• Classe ponto.public class Point {// Variáveis public int x = 0;public int y = 0; // método de construção public Point(int x, int y) { this.x = x; this.y = y; }}

Page 26: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Exemplos em Java

• Classe retângulopublic class Rectangle {

public int width = 0;

public int height = 0;

public Point origin;

// Método de coonstrução

public Rectangle(Point p, int w, int h) {

origin = p;

width = w;

height = h;

}

}

Page 27: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Exemplos em Java

public class CreateObjectDemo {

public static void main(String[] args) {

// cria o objeto ponto e um retangulo

Point origin_one = new Point(23, 94);

Rectangle rect_one = new Rectangle(origin_one, 100, 200);

}

}

Page 28: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Referências

• The Java Tutorial - a practical guide for programmers.

• www.sun.com.

• Thinking in Java. Bruce Eckel. • Disponível na internet.

Page 29: Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos

Dúvidas?

[email protected]