• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Java 00 Poo
 

Java 00 Poo

on

  • 4,948 views

 

Statistics

Views

Total Views
4,948
Views on SlideShare
4,937
Embed Views
11

Actions

Likes
1
Downloads
186
Comments
0

1 Embed 11

http://www.slideshare.net 11

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Java 00 Poo Java 00 Poo Presentation Transcript

    • Unidade 0 Programação Orientada a Objetos
        • Regis Pires Magalhães
        • [email_address]
    • Roteiro
      • Introdução
        • Programação Orientada a Objetos (por Alan Kay)
      • Classe
      • Objeto
      • Encapsulamento
      • Herança
      • Polimorfismo
      • Resumo
      • Referências e Recursos
    • Programação Orientada a Objeto (por Alan Kay)
      • 1. Tudo é um objeto
        • Um objeto pode ser visto como uma variável extravagante
        • Um objeto armazena
          • Dados
          • Requisições que podem ser feitas para ele
            • Realizam operações sobre si mesmo
      • 2. Um programa é conjunto de objetos que trocam mensagens entre si
        • Para fazer uma requisição para um objeto, uma mensagem é enviada para ele
    • Programação Orientada a Objeto (por Alan Kay)
      • 3. Cada objeto possui sua própria memória, composta de outros objetos
        • Objetos complexos, que contenham outros objetos, podem ser criados
        • Apesar da complexidade interna de tais objetos, do ponto de vista de uma entidade externa eles se apresentam com a mesma simplicidade de qualquer outro objeto
      • 4. Todo objeto possui um tipo
        • Cada objeto é uma instância de uma classe, onde classe é um sinônimo para tipo
      • 5. Todos os objetos de um tipo particular podem receber as mesmas mensagens
        • O mesmo código pode ser utilizado para manipular objetos que “se baseiam” em uma mesma classe
    • Programação Orientada a Objeto (POO)
      • Classe
        • Esqueleto para a criação de objetos
          • Programadores codificam classes, não objetos
          • Tipos definidos pelo programador
          • Descreve um conjunto de objetos que possuem as mesmas características (dados) e comportamentos (operações)
          • O conjunto de requisições que podem ser feitas a um objeto define sua interface
        • Para escrever uma classe
          • Defina seus dados (atributos)
          • Defina seus comportamentos (métodos)
      • Classe
        • Exemplo:
        • Uma classe Cachorro com:
          • atributos nome e idade;
          • métodos latir, obterNome e obterIdade
    • Programação Orientada a Objetos
      • class Cachorro {
      • String nome ;
      • int idade ;
      • Cachorro(String n, int id) {
      • nome = n;
      • idade = id;
      • }
      • void latir() {
      • System. out .println( "Au, Au" );
      • }
      • int obterIdade() {
      • return idade ;
      • }
      • String obterNome() {
      • return nome ;
      • }
      • }
      • Exemplo escrito em Java
    • Programação Orientada a Objetos
      • Objeto
        • Possui dados (atributos)
          • Informação sobre o estado do objeto
        • Possui um conjunto definido de comportamentos
          • Ações que o objeto pode realizar em si mesmo
          • Mudam o estado do objeto
        • Possui uma identidade
          • Pode ser distinguido de outros objetos
        • Um objeto é uma instância de uma classe
    • Alguns ambientes educacionais que facilitam o entendimento da OO
      • BlueJ
    • Alguns ambientes educacionais que facilitam o entendimento da OO
      • BlueJ
    • Alguns ambientes educacionais que facilitam o entendimento da OO
      • Greenfoot – Filho do BlueJ
    • Alguns ambientes educacionais que facilitam o entendimento da OO
      • Robocode
    • Programação Orientada a Objeto
      • Encapsulamento
        • Ocultação da informação
        • Lida com a separação entre interface e implementação
        • Decisão de projeto
        • Altamente desejável
        • Implementado como uma técnica na linguagem Java
    • Programação Orientada a Objeto
      • Herança
        • Termo “bonito” para uma idéia simples
          • “ A propriedade que assegura que uma instância de uma classe-filha pode acessar tanto os atributos quanto os métodos de sua classe-pai” Timothy Budd - Object Oriented Programming
    • Programação Orientada a Objeto
      • Herança
        • “ Herança é uma forma poderosa de se compartilhar semelhanças entre classes, mas preservando as diferenças entre elas”
              • Rumbaugh et al – Object Oriented Modelling and Design
        • Maneira de organizar classes em uma hierarquia
          • Permite abstrair o propósito de uma classe tomando-se por base as classes que a precedem na hierarquia
        • Possibilita a reutilização de código
          • Quando um método é herdado, o código que o define não precisa ser reescrito
            • Economia de tempo de codificação
            • Redução da possibilidade de introdução de novos erros
            • Código herdado pode ser bem eficiente
    • Programação Orientada a Objeto
      • Herança
        • Possibilita o compartilhamento de código
          • Projetos complexos podem ser implementados por diversos programadores
        • Implementada como um recurso específico de Java
        • Termos essenciais para a POO
          • Superclasse
            • Classe utilizada como base para a criação de uma nova classe
          • Subclasse
            • Classe criada a partir da definição de uma classe já existente (superclasse)
            • A subclasse X herda da superclasse Y
          • Superclasse direta
            • Superclasse da qual uma subclasse herda explicitamente (diretamente)
    • Programação Orientada a Objeto
      • Herança
        • Termos essenciais para a POO
          • Superclasse indireta
            • Superclasse da qual uma subclasse herda de forma implícita (indireta)
        • Exemplo:
    • Programação Orientada a Objeto
      • Polimorfismo
        • Habilidade da linguagem de manipular instâncias de subclasses de uma mesma superclasse através de métodos definidos na superclasse
        • Possibilitado pela redefinição de métodos existentes em uma superclasse em suas subclasses
        • Implementado com o uso de alguns recursos em Java
        • Promove extensibilidade
    • Resumo
      • Programação Orientada a Objeto
        • Definição por Alan Kay
      • Conceitos
        • Classe
        • Objeto
        • Encapsulamento
        • Herança
        • Polimorfismo
    • Referências e Recursos
      • Livros
        • Object-Oriented System Development: HTML Edition
          • http://g.oswego.edu/dl/oosdw3/
        • Software Engineering (5th Edition) – Ian Sommerville
        • Object-Oriented Analysis and Design with Applications – Grady Booch
        • Object-Oriented Software Engineering: A Case Driven Approach – Ivar Jacobson
      • Web
        • http://www.argonavis.com.br/cursos/java/j100/index.html
        • http://www.bluej.org/
        • http://www.greenfoot.org/
        • http://robocode.sourceforge.net/