130 likes | 197 Views
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. (Introdução). Orientação a Objetos. Classe Objetos Métodos Método Construtor Sobrecarga Herança
E N D
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
(Introdução) Orientação a Objetos • Classe • Objetos • Métodos • Método Construtor • Sobrecarga • Herança • Relacionamentos • Polimorfismo • Modificadores de acesso • Encapsulamento • Interfaces
(Classe) 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”;
(Objeto) Orientação a Objetos • “Materialização de uma classe”; • Construído através do processo de instanciação “new”;
(Método) 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;
(Herança) Orientação a Objetos • Permite que classes compartilhem atributos e métodos; • Reaproveitamento de código;
Orientação a Objetos (Polimorfismo) • Permite que referências de tipos de classes mais abstratas (objetos) representem o comportamento das classes que a referenciam.
(Interface) 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.
(Modificadores de Acesso) 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)
(Encapsulamento) 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
(Relacionamentos) 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