Programação Orientada a Objetos Usando Java Programação Orientada a Objetos Usando Java

VITRINE Os TOP de vendas !!

Por: R$ 60,00

Preço a vista: R$ 60,00

+-
Comprar
Opções de Parcelamento:
  • à vista R$ 60,00
Outras formas de pagamento

Quem viu este produto , comprou

Quem viu este produto , também se interessou

  • Descrição
    Programação Orientada a Objetos Usando Java
    (Primeira edição, 2020)
    Autores: Cecília Mary Fischer Rubira
    Paulo Asterio de Castro Guerra
    Luiz Alberto Ferreira Gomes

    A linguagem de programação Java tornou-se uma das linguagens mais populares da indústria de software. Os produtos de software desenvolvidos em Java estão sendo executados em diversos dispositivos, desde celulares e televisões até computadores de grande porte. Uma das características de Java que mais atrai a maioria dos programadores é o paradigma orientado a objetos, que permite a modularização do software e o reuso de suas partes em outros sistemas, aumentando, assim, a qualidade do produto e a produtividade da equipe de desenvolvimento. Entretanto, para que isso aconteça efetivamente, é necessário assimilar de maneira profunda os conceitos da orientação a objetos. Neste sentido, este livro oferece ao leitor uma combinação única entre os conceitos da orientação a objetos e as estruturas da linguagem Java, apresentando vários exemplos e estudos de casos práticos. Além disso, o leitor poderá praticar o que foi ensinado resolvendo diversos exercícios propostos no livro.
  • Sobre o Autor
  • Especificação

    Características

    Tipo de LivroLivro Físico

    Especificações

    Sobre o AutorCECÍLIA MARY FISCHER RUBIRA
    Cecilia Mary é professora titular da UNICAMP, com Ph.D. em Ciência da Computação pela Universidade de Newcastle Upon Tyne, Grã-Bretanha (1994), fez mestrado em Ciência da Computação pela UNICAMP (1989) e graduação em Ciência da Computação pela UNICAMP (1986). Obteve livre docência em Engenharia de Software pela UNICAMP (2001), atuou como professora associada no período de 2001-2011, e desde 2011 atua como professora titular em Engenharia de Software.

    PAULO ASTERIO DE CASTRO GUERRA
    Paulo Astério é doutor em Ciência da Computação pela UNICAMP (2004), mestre pela Universidade Federal do Rio de Janeiro e bacharel em Ciência da Computação pela UFRJ. Atualmente trabalha na empresa Tapijara Computadores Ltda. como consultor independente, apoiando o desenvolvimento de software em várias empresas do mercado.

    LUIZ ALBERTO FERREIRA GOMES
    Luiz Alberto é bacharel em Ciência da Computação pela Universidade Federal de Ouro Preto (1996) e mestre pela Universidade Estadual de Campinas (2003). Atualmente, é estudante de doutorado na UNICAMP e exerce a função de Professor na Pontifícia Universidade Católica de Minas Gerais no campus de Poços de Caldas.
    Informações TécnicasSUMÁRIO

    1 Fundamentos do Modelo de Objetos - 1
    1.1 Introdução - 1
    1.2 Processo Simbólico - 1
    1.3 Abstração - 2
    1.4 Classificação e Instanciação - 3
    1.5 Generalização e Especialização - 4
    1.6 Hierarquias de Classes - 4
    1.7 Hierarquias Todo-Partes - 5
    1.8 Conceito de Tipo - 5
    1.9 Evolução das Técnicas de Programação - 7
    1.10 Programação Baseada em Procedimentos - 8
    1.11 Visibilidade e Proteção de Código e Dados - 9
    1.12 Ocultamento de Informação e Encapsulamento - 11
    1.13 Tipos Abstratos de Dados e Interfaces - 12
    1.14 Um Exemplo de Programa Orientado a Objetos - 15
    1.15 Um Breve Histórico das Linguagens Orientadas a Objetos - 16
    1.16 Referências - 18
    1.17 Exercícios de Fixação - 18

    2 Objetos e Classes - 23
    2.1 Introdução - 23
    2.2 Objetos e Mensagens - 26
    2.3 Classificação e Instanciação - 27
    2.4 Especificação do Tipo Abstrato de Dados ContaCor - 29
    2.4.1 (i) Operação abreConta - 29
    2.4.2 (ii) Operação creditaValor - 30
    2.4.3 (iii) Operação debitaValor - 31
    2.4.4 (iv) Operação consultaSaldo - 31
    2.5 Projeto do Tipo Abstrato de Dados ContaCor - 32
    2.6 Implementação do Tipo Abstrato de Dados - 33
    2.7 Definição de Operações em Java - 33
    2.8 Definição de Classes em Java - 36
    2.8.1 Nome de Classe - 36
    2.8.2 Definição de Atributos - 36
    2.8.2.1 Visibilidade dos Atributos - 37
    2.8.3 Definição de Métodos - 38
    2.8.3.1 Visibilidade dos Métodos - 38
    2.9 Implementação dos Algoritmos e Estruturas de Dados - 39
    2.10 Compilando e executando a definição da classe - 42
    2.11 Criação de Objetos - 43
    2.11.1 O comando new - 43
    2.11.2 Métodos Construtores - 45
    2.12 Troca de Mensagens - 47
    2.12.1 A Referência null - 48
    2.13 Destruição de Objetos - 49
    2.13.1 Objetos Não Referenciados - 49
    2.13.2 Coleta de Lixo - 49
    2.14 Objetos Persistentes - 50
    2.15 Exercícios de Fixação - 50

    3 Agregação e Associação - 57
    3.1 Agregação - 57
    3.2 Associação - 59
    3.3 Exercícios de Fixação - 60

    4 Estudo de Caso: Caixa Automático - 63
    4.1 Descrição do Problema - 63
    4.2 Análise e Projeto do Sistema de Caixa Automático - 64
    4.2.1 Interface Pública da Classe TrmCxAut - 66
    4.2.2 Interface Pública da Classe ControladorCaixa - 66
    4.2.3 Interface Pública da Classe Caixa - 67
    4.2.4 Interface Pública da Classe ContaCor - 67
    4.2.5 Interface Pública da Classe CadastroContas - 68
    4.2.6 Diagramas de Sequência em UML - 68
    4.3 Implementação do Sistema - 70
    4.3.1 Especificação da Classe TrmCxAut - 70
    4.3.2 Especificação da Classe ControladorCaixa - 75
    4.3.3 Especificação da Classe Caixa - 78
    4.3.4 Especificação da Classe ContaCor - 80
    4.3.5 Definição da Classe CadastroContas - 82
    4.4 Execução da aplicação - 83
    4.5 Exercícios de Fixação - 85

    5 Herança - 87
    5.1 Generalização/Especialização - 87
    5.2 Mecanismo de Herança - 88
    5.3 Definição de Subclasses em Java - 89
    5.4 Estudo de Caso: Contas Especiais - 90
    5.4.1 Análise das Contas Especiais - 91
    5.4.2 Projeto da Classe ContaEsp - 92
    5.4.3 Implementação da classe ContaEsp - 93
    5.4.3.1 Abertura de Conta Especial - 94
    5.4.3.2 Construtores e Herança - 94
    5.4.3.3 Alteração do Limite da Conta - 95
    5.4.3.4 Obtenção do Valor do Crédito Utilizado - 95
    5.4.3.5 Executando a Classe ContaEsp - 96
    5.5 Herança e Visibilidade Protegida - 96
    5.5.1 Visibilidade protegida - 97
    5.5.2 O modificador “protected” de Java - 98
    5.6 Emprego Correto de Herança - 99
    5.6.1 Herança de comportamento - 99
    5.6.2 Herança de implementação - 100
    5.7 Herança Múltipla - 102
    5.8 Exercícios de Fixação - 103

    6 Polimorfismo e Acoplamento Dinâmico - 107
    6.1 Conceito de Polimorfismo - 107
    6.2 Polimorfismo e Orientação a Objetos - 108
    6.3 Classificação de Cardelli e Wegner - 110
    6.3.1 Sobrecarga de Métodos e Operadores - 111
    6.3.1.1 Sobrecarga de Métodos e Construtores - 111
    6.3.1.2 Sobrecarga de Operadores - 112
    6.3.2 Coerção - 112
    6.3.3 Polimorfismo Paramétrico - 114
    6.3.4 Polimorfismo de Inclusão - 115
    6.3.4.1 Redefinição de Métodos - 116
    6.3.4.2 Redefinição versus Sobrecarga de Métodos - 117
    6.3.5 Acoplamento Dinâmico e Redefinição de Métodos - 117
    6.4 Encaminhamento das Mensagens em Java - 118
    6.5 Exercícios de Fixação - 119

    7 Sistema de Controle de Biblioteca - 129
    7.1 Descrição do Problema - 129
    7.2 Modelagem do Problema - 130
    7.3 Diagrama de Classes - 130
    7.4 Diagramas de Estados - 132
    7.5 Diagramas de Sequência - 132
    7.6 Implementação das Classes - 133
    7.6.1 Classe Usuario - 133
    7.6.2 Classe Aluno - 138
    7.6.3 Classe Professor - 139
    7.6.4 Classe Exemplar - 140
    7.6.5 A classe Terminal - 144
    7.6.6 A classe CadastroExemplar - 146
    7.6.7 A classe CadastroUsuario - 146
    7.6.8 A classe ControleBiblioteca - 147
    7.6.9 A classe Principal - 150
    7.7 Uso do Sistema - 151
    7.8 Exercícios de Fixação - 152

    8 Classes Abstratas e Concretas - 155
    8.1 Classes Concretas - 155
    8.2 Conceito de Classe Abstrata - 156
    8.3 Métodos Abstratos - 158
    8.4 Definição da Classe Abstrata Item - 159
    8.5 Usos Corretos de Classes Abstratas - 161
    8.6 Exercícios de Fixação - 162

    9 Interfaces - 165
    9.1 O Conceito de Interface - 165
    9.2 Interfaces no Modelo de Objetos - 166
    9.3 Definição de Interface em Java - 167
    9.4 Exemplo de Aplicação - 169
    9.5 Hierarquias de Interfaces x Hierarquias de Classes - 171
    9.6 Relações entre Objetos, Classes e Interfaces - 171
    9.7 Exercícios de Fixação - 174

    10 Tratamento de Exceções - 183
    10.1 Motivação: Tolerância a Falhas - 183
    10.1.1 Conceitos de Falha, Erro e Defeito - 183
    10.1.2 Sistemas Tolerantes a Falhas - 184
    10.1.3 Tratamento de Exceções - 185
    10.1.4 Componente Ideal Tolerante a Falhas - 187
    10.1.5 Mecanismos de Tratamento de Exceções - 188
    10.1.6 Representação das Exceções - 189
    10.1.7 Assinaturas de Métodos - 189
    10.1.8 Contextos dos Tratadores de Exceções - 190
    10.1.9 Propagação de Exceções - 191
    10.1.10 Continuação do Fluxo de Controle - 191
    10.2 Tratamento de Exceções em Java - 192
    10.2.1 A Hierarquia de Classes de Exceções - 192
    10.2.2 Criando e Lançando Exceções - 193
    10.2.3 Definindo Tratadores de Exceções - 194
    10.2.4 Especificando Ações de Limpeza - 195
    10.2.5 Propagação Automática de Exceções - 197
    10.3 Exemplo de Uso de Exceções - 198
    10.3.1 Definição e Lançamento de Exceções - 198
    10.3.2 Tratadores de Exceções - 200
    10.4 Exercícios de Fixação - 201

    11 Atributos e Métodos de Classe - 207
    11.1 Conceito de Metadados e Metaclasses - 207
    11.2 Atributos e Métodos de Classe - 207
    11.3 Classes Utilitárias - 211
    11.4 Usos Corretos do Modificador static - 212
    11.5 O Método main - 215
    11.6 Descritores de Classe Java - 216
    11.7 Exercícios de Fixação - 217

    12 Pacotes - 219
    12.1 Conceito de Pacote - 219
    12.2 Fatoração em Pacotes - 221
    12.3 Importação de Tipos de Outros Pacotes - 222
    12.4 Definição de Pacotes em Java - 224
    12.5 Pacotes Anônimos - 224
    12.6 Visibilidade de Pacotes - 225
    12.7 A Variável de Ambiente CLASSPATH - 228
    12.8 O Utilitário jar - 229
    12.9 Exercício de Fixação - 230

    Apêndice A
    Preparando o Ambiente de Desenvolvimento Java - 235

    Bibliografia - 237

    Índice Remissivo - 241

    Informações Técnicas

    Nº de páginas:256
    Origem:Nacional
    Editora:Ciência Moderna
    Idioma:Português (Br)
    Edição:
    Ano:2020
    ISBN:9788539910151
    Encadernação:Brochura
    Autor:Cecília Mary Fischer Rubira, Paulo Asterio de Castro Guerra e Luiz Alberto Ferreira Gomes
  • Informações

Avaliação técnica sobre o livro

Olá! Seja Bem Vindo (a)!

Eu sou o Moderninho , o Mascote da Ciência Moderna Online!
Além de bonito, o novo site tem Minhas Dicas :) #ficaadica

A 1ª Dica é -> Deixe aqui seu contato para receber nossas
NOVIDADES, PROMOÇÕES E CUPONS DE DESCONTOS ;)

Navegue SEM Moderação!