Notes
1.5 - Comparar e contrastar as características e componentes Java
Content of the notes (12)
Page 1
Objetivo 1.5 - Comparar a contrastar características e componentes Java
Comparar e contrastar características e componentes Java tais como:
Independência de plataforma.
Orientação a objetos.
encapsulamento, etc.
Page 2
Java Buzzwords
Na introdução da linguagem Java, Sun Microsystems Corporation descreve a linguagem Java como uma linguagem simples, orientada a objetos, distribuída, interpretada, robusta, segura, independente de arquitetura, de alta performance, multi-threading e dinâmica.
Esses termos são comumente chamados Java Buzzwords.
Vamos elucidar essas características agora.
Page 3
Características da linguagem Java
Simples: um programa Java pode ser lido sem a necessidade de um treinamento extenso em programação quando se utilizam boas práticas de programação, os conceitos fundamentais da linguagem Java podem ser alcançados e entendidos rapidamente e então programadores podem ser produtivos desde o inicio.
Orientação a objetos: a linguagem de programação Java foi projetada para ser orientada a objetos desde o inicio. Essa é a característica chave da linguagem Java e será coberta em detalhes aqui.
Distribuída: a linguagem Java foi desenvolvida de modo a suportar aplicações em rede, no qual o código pode ser executado em máquinas diferentes.
Interpretada: o interpretador Java pode executar bytecodes em Java diretamente em qualquer máquina independente do sistema operacional utilizado.
Robusta: a linguagem de programação Java permite checagens extensas em tempo de compilação seguidos por um segundo nível de checagens em tempo de execução. A linguagem também inclui um modelo de gerenciamento de memória que é extremamente simples. Objetos são criados através de um operador new, que explicitamente custa tipos de dados ponteiros e ponteiros aritméticos. Além disso, um coletor de lixo automático ( garbage collector) é utilizado para liberar espaço de objetos que não estão sendo utilizados.
Segurança (Secure): a características de segurança, projetadas dentro da linguagem em um sistema de execução. A tecnologia Java permite que você construa aplicações que impossibilitam invasões externas. Em um ambiente de dispositivos conectados em uma rede, aplicações escritas na linguagem de programação Java são mais seguras com relação a invasão por código não autorizado ou malicioso.
Arquiteturalmente neutra: a tecnologia Java é projetada para suportar aplicações executando em uma grande variedade de arquiteturas de hardware. Para acomodar a diversidade de operação dos vários ambientes, o compilador Java gera bytecodes. Em uma arquitetura neutra, temos um código intermediário que pode ser interpretado para ser executado em diferentes plataformas com diferentes sistemas operacionais e arquiteturas de hardware. O mesmo código de bytecode Java irá rodar em qualquer plataforma.
Independência de Plataforma (Portabilidade) : a arquitetura neutra é apenas uma parte de um sistema portável. A tecnologia Java leva a noção de portabilidade a um outro nível, especificando um tamanho comum para seus tipos de dados básicos no comportamento de seus operadores aritméticos. Não há incompatibilidade em seus tipos de dados através de sua arquitetura de software e hardware.
Alta performance: a tecnologia Java alcança alta performance através da adoção de uma "interface" através da qual o interpretador pode rodar em alta velocidade sem ter a necessidade de checar o ambiente de runtime.
Multithreaded: a linguagem tem essa capacidade, fornecendo os meios para construir aplicações com threads concorrentes executando diferentes atividades.
Dinâmica: nosso compilador Java realiza checagens em tempo de compilação. Então a linguagem em tempo de execução é dinâmica no estágios de ligação. Classes são associadas somente quando necessário. Novos módulos de código podem ser associados sob demanda de uma variedade de fontes mesmo em fontes de diferentes locais de rede.
Page 4
Conceitos de Orientação a Objetos
Basicamente o modelo de linguagem orientado a objetos define 4 conceitos:
Herança: uma classe usa campos e métodos de outra classe. Através do uso da herança, objetos são gerenciados em uma estrutura hierárquica.
Polimorfismo: subclasses de uma determinada classe podem definir seu comportamento único próprio, ainda que dividam a mesma funcionalidade da classe pai. Habilidade de um objeto assumir diversas formas.
Abstração: esconder certos detalhes, mostrando apenas as características essenciais de um objeto.
Encapsulamento: associar e armazenar os dados e o código que opera em cima dos dados dentro de uma única entidade.
Page 5
Exemplo: Herança
Nesse exemplo, a subclasse não define nenhum membro por si própria. Mas ainda possui dos membro, uma variável do tipo String myField e um método myMethod, que são herdados da sua superclasse.
Page 6
Exemplo: Polimorfismo
Subclasses de uma classe podem definir seu comportamento único, ainda que tenham algumas das mesmas funcionalidades herdadas da classe pai.
Nesse exemplo, dois objetos diferentes (subclasses diferentes) que referenciam o mesmo método da mesma superclasse podem definir um comportamento diferente para esse método.
Uma variável do tipo da superclasse ao chamar o método myMethod() pode executar tarefas distintas dependendo se a classe do objeto apontada pela variável é do tipo da SubClass1 ou então da SubClass2. Pois cada subclasse definirá um diferente comportamento para o método herdado da superclasse comum a elas.
Page 7
Exemplo: abstração
Abstração: esconder certos detalhes mostrando apenas as características essenciais de um objeto.
Nesse exemplo o método myMethod da superclasse é usado como um método abstrato de modo a esconder detalhes de implementação de código externo. A implementação será fornecida pelo método do mesmo nome da subclasse.
Page 8
Exemplo: encapsulamento
Armazenar os dados e o código de operação desses dados em uma única entidade.
O campo myField está associado aos seus métodos getter e setter e somente pode ser acessado de fora da classe através desses métodos públicos.
Page 9
Questões
B) Flexible - Distributed, Flexible e Robust são três das 11 Java "Buzz Words".
Page 10
Questões - Continuação
False
Cada plataforma tem suas características distintas tais como chamadas a operadores de sistema, eventos de sistema, caminhos distintos para arquivos. Em alguns casos, um programa Java pode não produzir a mesma saída em várias plataformas. A API, que é um programa que acessa a linguagem Java, produzirá a mesma saída, entretanto.
Independência de plataforma: Não há incompatibilidade dos tipos de dados básicos do Java através de sua arquitetura de software e hardware.
Page 11
Continuação
C) Dynamic
Portable: Não há incompatibilidade em seus tipos de dados através de sua arquitetura de software e hardware.
Distributed: suportar aplicações em rede, no qual o código pode ser executado em máquinas diferentes.
Architecture neutral: O mesmo código de bytecode Java irá rodar em qualquer plataforma.
Page 12
Continuação
Correta: D) Encapsulation: um campo está associado aos seus métodos getter e setter e somente pode ser acessado de fora da classe através desses métodos públicos.
Herança: subclasse herda os membros da superclasse.
Polimorfismo: Subclasses de uma classe podem definir seu comportamento único, ainda que tenham algumas das mesmas funcionalidades herdadas da classe pai.
Abstração: esconder certos detalhes mostrando apenas as características essenciais de um objeto.
Information
- Description
- Concursos Públicos Desenvolvimento de Software (OCAJP 8 Online Course) Note on 1.5 - Comparar e contrastar as características e componentes Java, created by Luis Felipe Guariento on 25/09/2018.
- Created by
- Luis Felipe Guariento
- Views
- 0
- Rating