28
Princípios de Orientação a Objetos Jefferson Ferreira Barbosa [email protected] João Pessoa 2014 CENTRO UNIVERSITÁRIO DE JOÃO PESSOA COORDENAÇÃO DE CIÊNCIAS DA COMPUTAÇÃO

2 - Princípios Da Orientação a Objetos

Embed Size (px)

DESCRIPTION

2 - Princípios Da Orientação a Objetos

Citation preview

  • Princpios de Orientao a Objetos

    Jefferson Ferreira Barbosa [email protected]

    Joo Pessoa 2014

    CENTRO UNIVERSITRIO DE JOO PESSOA COORDENAO DE CINCIAS DA COMPUTAO

  • At aqui...

    Histrico e fundamentos da linguagem Java

    CaractersBcas da linguagem Java Ambiente de programao E t a p a s : e d i o , c o m p i l a o , interpretao e execuo de programas em Java

    Hoje: Princpios de Orientao a Objetos

    Construtores e sobrecarga 2

  • Tcnicas de Programao Tradicionais

    Decompe o sistema em partes menores (funes), criando um emaranhado de inmeras funes que chamam umas s outras

    Geralmente no h separao de conceitos e responsabilidades causando: Dependncias enormes no sistema Dificulta futuras manutenes no cdigo do

    programa. No existe muito reaproveitamento de cdigo

    The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

  • Programao Orientada a Objetos

    um paradigma de programao que imita como os objetos interagem no mundo real;

    P e r m i t e c r i a r p r o g r a m a s componentizados, separando as partes do sistema por responsabilidades;

    Tais partes se comunicam entre si por meio de mensagens, onde estas fornecem e consomem servios;

    Essas partes so chamadas de objetos.

  • Benefcios da O.O.

    Aumento de produtividade Reuso de cdigo Reduo das linhas de cdigo Separao de responsabilidades Componentizao Maior flexibilidade do sistema Escalabilidade Facilidade na manuteno

  • Analogia - Objetos

    Imagine uma fbrica de celular Cada celular fabricado possui um

    complexo mecanismo de funcionamento, que igual para todos;

    Entretanto, apesar de serem iguais, so nicos!

  • Conceito de Objeto O que so objetos?

    Uma entidade capaz de reter um estado atravs de propriedades(atributos) e que o f e r e c e u m a s r i e d e o p e r a e s (comportamentos/mtodos) para visualizar ou modificar seu estado.

    Um objeto deve possuir: Um estado Um comportamento Uma identidade Uma interface

  • Exemplo de Objeto Celular

    Identificao Cdigo: 1234

    Interface Assinatura dos mtodos

    Outras propriedades Largura: 3cm Cor: Azul

    Comportamento Ligar Desligar Efetuar chamadas

  • Conceito de Classe Uma classe uma descrio de um grupo

    d e o b j e t o s c o m p r o p r i e d a d e s semelhantes, mesmo comportamento, mesmos relacionamentos com outros objetos, mesma semntica.

    Um objeto uma instncia de uma classe!

    Exemplo de classe: Todo celular tem placa, cor, peso, tela (atributos). Todo celular efetua chamada (comportamento) Os atributos e comportamentos formam uma classe

  • Conceito de Atributo O estado de um objeto dado por valores de

    atributos e por ligaes que possuem com outros objetos

    Todos os objetos de uma mesma classe possuem os mesmos atributos (variveis de instncia), porm os valores desses atributos podem ser diferentes.

    Tais valores diferenciam um objeto de outro, sendo que ambos pertencem a uma mesma classe

  • Conceito de Mtodos O comportamento de um objeto so os seus

    mtodos (semelhantes a funes)

    uma forma de pedir que um objeto faa algo Mtodos so definidos ao nvel de classe, enquanto

    que a invocao de uma operao definida ao nvel de objeto

    Objetos de uma mesma classe possuem os mesmos mtodos.

    Exemplo de mtodos de um celular Ligar Desligar Receber chamadas

  • Analogia - Objetos

    Objeto

    Mtodos

    Atributos

    Nome da classe

    Interface

  • Exerccio 1 Cr i e um p ro j e t o no e c l i p se

    denominado FabricaCelular

    Crie a classe Celular e defina os atributos e mtodos vistos no slide anterior.

  • Como executar aplicaes

    Uma classe pode definir um mtodo main;

    o mtodo responsvel pela execuo da aplicao;

    Uma aplicao pode conter vrios mtodos main (um em cada classe), mas apenas um desses ser definido como o mtodo da aplicao;

  • Assinatura de main Ponto de incio de toda aplicao

    Java.

    public static void main(String [] args){

    }

  • Exemplo do HelloWorld

  • Como criar e acessar objetos?

    Para criar, use o operador new Para acessar atributos e mtodos, utilize o

    . (ponto) Exemplo

  • Exerccio 2 No projeto FabricaCelular crie uma

    classe chamada Principal. Nesta classe, crie um mtodo main. Dentro do main, crie uma instncia

    de sua classe Celular Acesse e imprima seus atributos no

    console

  • Relacionamentos entre objetos

    A POO define que podemos montar objetos a partir de objetos

    Essa unio acontece de duas formas: Agregao

    Relacionamento fraco Composio

    Relacionamento forte Herana

    Ambos agregao e composio so conhecidos como relacionamentos TEM UM

    Herana um tipo de relacionamento UM

  • Relacionamentos TEM UM

    Agregao Um objeto O1 definido pela

    agregao de alguns outros objetos; Se o objeto O1 for destrudo, os

    objetos nele contidos ainda sero vlidos;

    Ou seja, existe uma dependncia fraca entre o objeto O1 e seus objetos contidos.

  • Relacionamento TEM UM Exemplo de Agregao

  • Relacionamentos TEM UM

    Composio Um objeto O1 definido pela

    composio de alguns outros objetos; Se o objeto O1 for destrudo, todos os

    objetos nele contidos sero tambm destrudos;

    Ou seja, existe uma dependncia forte entre o objeto O1 e seus objetos contidos.

  • Relacionamento TEM UM Exemplo de composio

  • Lmpada

    - EstadoDaLampada

    + acende()

    + apaga ()

    + mostrarEstado ()

    24

    Atributo

    Mtodos Orientao Objetos

  • E em java?

    Classe Lmpada:

    25 Orientao Objetos

    Palavra reservada class seguida do nome da classe

    Parmetro, conjunto de caracter

    A declarao de mtodo possui respecBvamente: O modicador de acesso

    O Bpo de retorno Nome do mtodo Lista de parmetros para recebimento (Bpo, nome)

  • E em java?

    Instanciando Objetos

    26 Orientao Objetos

    Para instanciar um objeto, necessrio informar a Classe a que este pertence, designar um nome para ele, e uBlizar a palavra reservada new antes da chamada do mtodo construtor responsvel por iniciar os parmetros (caractersBcas) do novo objeto.

    Para acessar, ou realizar uma chamada, de um mtodo ou parmetro uBlizado o ponto (.) seguido do nome do mtodo

  • Exerccio 3

    Crie uma classe Conta atributos (numero e saldo); mtodos (creditar, debitar, getSaldo, getNumero);

    Orientao Objetos 27

  • Dvidas?