Curso de extensão em Desenvolvimento Web Introdução à tecnologia Java Tecnologia JAVA Orientada a Objetos Interpretada e Compilada (Híbrida) JVM – Java Virtual Machine Orientação a Objetos Classe Objetos Métodos Método Construtor Sobrecarga Herança Relacionamentos Polimorfismo Modificadores de acesso Encapsulamento Interfaces Orientação a Objetos Agrupamento / “Tipagem”; Maneira de organizar um conjunto de dados; Criada através da palavra reservada “class”; Possuí “atributos” e “métodos”; Orientação a Objetos “Materialização de uma classe”; Construído através do processo de instanciação “new”; Orientação a Objetos Ações que uma classe pode realizar (funções); Todo método obrigatoriamente precisa ter um retorno; Método Construtor; Sobrecarga de métodos; Orientação a Objetos Permite que classes compartilhem atributos e métodos; Reaproveitamento de código; Orientação a Objetos Permite que referências de tipos de classes mais abstratas (objetos) representem o comportamento das classes que a referenciam. Tecnologia JAVA É uma classe abstrata para a qual todos os métodos são implicitamente abstract e public, e todos os atributos são implicitamente static e final. Estabelece uma espécie de contrato que é obedecido por uma classe. Quando uma classe implementa uma interface, garante-se que todas as funcionalidades especificadas pela interface serão oferecidas pela classe. Orientação a Objetos Controlam a forma como os membros de uma classe são visíveis por outras classes. Um membro de uma classe pode ou não ter um modificador de acesso na sua declaração, quando não especificamos nenhum dizemos que o membro tem acesso “friendly”. (visível somente as classes do mesmo pacote (“package”)). Public Private Protected (não se aplica a classes) Static (atributos, métodos e em um “bloco estático”, associação com classe e não com instancia) Abstract (classes não poderão ser instanciadas e métodos não podem ser implementados) Final (imutabilidade, classe não pode ser herdada, método não pode ser sobrescrito) Orientação a Objetos Controlar e proteger o acesso aos atributos e métodos de uma classe. Tipos de dados / Classe Utilitárias String Integer Long Boolean Date compareTo BigDecimal add subtract multiply divide compareTo setScale RoundingMode List / ArrayList (Collections / Coleções) add addAll get size Orientação a Objetos Classes e objetos podem estar conectados por algum tipo de relacionamento. Podem ser: Associações Representam que existe alguma ligação entre duas classes, de tal forma que um deve manter alguma referencia a outra. Associações de Agregação Indica que um objeto colabora com outro objeto, mais a existência desse objeto não é obrigatória. Podemos dizer também que é uma associação em que um objeto é parte de outro, de tal forma que a parte pode existir sem o todo. Empresa --- Departamento Associações de Composição Semelhante a agregação porém a composição faz parte do todo e depende do todo. Em outras palavras, os objetos são inseparáveis, quando um objeto Pai é destruído o objeto filho também é, pois ele faz parte do todo e compõe o todo. Pedido --- ItemPedido