Prévia do material em texto
Programação Orientada a Objeto em Java O Java oferece suporte robusto para programação orientada a objeto, com algumas diferenças em relação ao C++. Vamos explorar as características únicas do Java neste aspecto. by HarmonyKY Haven 1 Características Gerais 1 Tipos Primitivos Apenas valores escalares primitivos não são objetos em Java. 2 Eficiência A existência de não-objetos visa a eficiência do sistema. 3 Classes Envoltório Usadas para converter tipos primitivos em objetos quando necessário. 2 Hierarquia de Classes 1 Classe Raiz Todas as classes em Java são subclasses da classe Object. 2 Operações Universais A classe Object fornece métodos comuns a todas as classes. 3 Alocação Dinâmica Objetos são alocados no heap com 'new', sem desalocação explícita. 3 Herança em Java Herança Simples Java suporta diretamente apenas herança simples. Interfaces Oferecem uma versão de herança múltipla. Definição de Interface Contém apenas constantes nomeadas e declarações de métodos. 4 Applets e Herança Classe Applet Applets herdam capacidades da classe predefinida Applet. Concorrência Applets de animação podem usar a classe Thread para concorrência. Interface Runnable Permite implementar concorrência sem herança múltipla. 5 Implementação de Concorrência Sintaxe Exemplo: "public class Clock extends Applet implements Runnable" Objeto Thread Necessário criar e conectar um objeto Thread para concorrência. Controle Mensagens de controle são enviadas ao objeto Thread correspondente. 6 Métodos e Classes Finais Método Final Não pode ser sobreposto em classes descendentes. Classe Final Não pode ser pai de nenhuma subclasse. Uso Garante comportamento consistente em toda a hierarquia. 7 Vinculação Dinâmica Java C++ Todas as chamadas são vinculadas dinamicamente por padrão Métodos devem ser declarados como virtual Métodos finais têm vinculação estática Não há equivalente direto 8 image-1002-1.png image-1-1.png image-1-2.png image-1003-1.png image-2-1.png image-1004-1.png image-3-1.png image-1005-1.png image-1006-1.png image-5-1.png image-5-2.png image-5-3.png image-5-4.png image-1007-1.png image-6-1.png image-1008-1.png image-7-1.png image-7-2.png image-7-3.png image-7-4.png image-1009-1.png image-8-1.png