OOP - Java Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora 1.

Slides:



Advertisements
Apresentações semelhantes
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Advertisements

Capítulo 1 Introdução.
Aula Prática usando o NetBeans
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Polimorfismo e Classes Abstratas Profa
Rebeca Schroeder Linguagem Java Rebeca Schroeder
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Wagner Santos C. de Jesus
Capítulo 1 Conceitos Gerais.
Introdução a Programação Orientada a Objetos
Curso de extensão em Desenvolvimento Web
JAVA: Conceitos Iniciais
Herança em C#.
Concorrência em Java Threads em Java.
Programação Orientada a Objetos com Java
Aula prática 13 Orientação a Objetos – C++ Parte 1
JAVA Orientação a Objetos
JAVA Linguagem Ambiente de Desenvolvimento
P ROGRAMAÇÃO ORIENTADA A ASPECTOS Equipe: Leandro Oliveira Anusio Menezes.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Ferramentas para Orientação a Objetos Apresentação da Disciplina Prof. Wolley.
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Banco de Dados de Objetos
Linguagem de Programação JAVA
Herança em Java.
Classes, Objetos, Atributos e Métodos JAVA
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Programação Orientada à Objetos
Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do namespace Herança Polimorfismo Encapsulamento Propriedades.
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Tutorial de Utilização.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
3/4/2015 Prof. Msc George Cabral Bacharelado em Sistema de Informação Ambientes de Desenvolvimento de Software.
Wagner Santos C. de Jesus
Aula prática 14 Orientação a Objetos – C++ Parte 2
Iv Sprint – rpg com interface gráfica
Implementação Orientada a Objetos – Aula 03
Laboratório I Mateus Raeder Material baseado nos originais da Profa. Denise Bandeira.
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
Programação Orientada à Objetos
Curso de Aprendizado Industrial Desenvolvedor WEB
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Java Básico Instrutor: Davi Pires
Capítulo 9 Arquivos JAR.
Introdução JAVA Faculdade Mauricio de Nassau
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Bruno Inojosa MCP .NET Framework
Introdução a Programação Orientada a Objetos
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
O que é Java? Prof. M.Sc. Ronnison Reges Vidal. Roteiro  Introdução  Java  Máquina Virtual  Versões  JVM, JRE, JDK  Onde usar e Objetivos  Compilando.
Linguagem técnica de programação I Java
Igor Steinmacher, MSc. Java!!!!
Ferramentas para desenvolvimento Java
Módulo II Capítulo 1: Orientação a Objetos
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Raniere ferreira do prado
Prof. Cristian Rodrigo Dalcico. Linguagem de Programação Java Aula 1.
Introdução à plataforma Java. 2 A tecnologia Java Java: linguagem de programação e plataforma de desenvolvimento Criada pela Sun Microsystems Apoiada.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Implementação Orientada a Objetos – Aula 02 Introdução ao Java Prof. Danielle Martin Universidade de Mogi das Cruzes.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

OOP - Java Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora 1

Sumário Java – Aviso! História do Java Programação Orientada à Objetos Os quatro pilares da OOP Abstração Encapsulamento Modificadores de acesso Herança Polimorfismo Tratamento de exceções 2

Sumário As grandes vantagens do Java As desvantagens do Java Máquina virtual Java (JVM) Exemplos de utilidade da JVM JVM, JDK ou JRE, qual baixar? IDEs Comparação de código Java com C Onde posso aprender Java? 3

Java – Aviso! Apesar de parecer pouco produtivo, a premissa de Java é ser utilizada para aplicações de médio e grande porte com um time de desenvolvedores de tamanho variável. 4

História do Java Baseada em C++; Em 1991 a empresa Sun Microsystems financiou sua criação; De Oak à Java; 5

História do Java Foi anunciado formalmente em 1995; Seu sucesso se deu em grande parte por sua compatibilidade com a web; Em 2009 a Sun, então proprietária foi comprada pela Oracle por $7,4bi. 6

Programação Orientada à Objetos A Programação orientada à objetos (OOP) é um dos paradigmas da linguagem de programação; Clareza no código; Facilita o desenvolvimento de aplicações em times de programadores em comparação com a programação estruturada. 7

Programação Orientada à Objetos Suponha que você possui determinado objeto, no caso uma classe. 8

Programação Orientada à Objetos Caso você quisesse utilizar um método ou acessar suas variáveis deveria instanciar esta classe. Para usar um método contido nesta classe deveria utilizar esta sintaxe. 9

Programação Orientada à Objetos O modificador static (que se aplica antes dos modificadores de acesso) faz com que o objeto e seus atributos dispensem necessidade de serem instanciados. Caso a classe Funcionario fosse estática, para acessar o método pagamento seria utilizado o seguinte código. 10

Programação Orientada à Objetos Algumas linguagens OOP: C++ Objective-C Smalltalk Delphi Java C# Perl Python Ruby PHP 11

Os quatro pilares da OOP Abstração Encapsulamento Herança Polimorfismo 12

Abstração Esconder todas as informações irrelevantes para o usuário, a fim de tornar o código mais direto. 13 Figura 1 - Disponível em QAInsights.png - Acesso em 03/03/2015

Encapsulamento Separar o as informações em conjuntos para que o programa fique mais flexível, sendo mais fácil de se manipular; Restringir o acesso de determinados objetos em alguns casos. 14 Figura 2 - Disponível em - Acesso em 03/03/2015

Modificadores de acesso Public: Pode ser acessado por outro código do programa do mesmo assembly ou outro assembly que referencia o objeto. Private Só pode ser acessado pela mesma classe ou estrutura que o criou. 15

Modificadores de acesso Protected Pode ser acessado pela mesma classe ou estrutura que o criou e classes derivadas. Internal Pode ser acessado por outro código somente do mesmo assembly. Protected Internal Pode ser acessado por qualquer código no mesmo assembly ou por qualquer classe derivada em outro assembly. 16

Herança É a capacidade de um objeto herdar características de outro. 17

Herança - Exemplo Note que o Gerente é um Funcionário e ambos compartilham determinadas variáveis. 18

Herança - Exemplo A Solução! 19

Polimorfismo Polimorfismo é a possibilidade de um objeto ser referenciado de várias maneiras. 20

Polimorfismo - Exemplo Considere a classe gerente que herdou características de um funcionário no exemplo de herança e uma determinada classe a seguir. 21

Polimorfismo - Exemplo Caso o seguinte código seja escrito, ao ser compilado e rodado o programa irá rodar sem nenhum erro, pois gerente é um funcionário. 22

Tratamento de exceções Em muitas linguagens OOP o tratamento de exceções em código ficou facilitado. A sintaxe de um código com tratamento de exceções genérico é: 23

As grandes vantagens do Java Orientação a objetos; Multiplataforma; Integração com web; 24

As grandes vantagens do Java Muitas bibliotecas gratuitas; A máquina virtual Java é uma especificação, e não um software. É grátis! 25

As desvantagens de Java A pré-compilação exige tempo; Não condiz com a implementação de pontos flutuantes da maioria dos processadores; Os bytecodes gerados podem ser usados em engenharia reversa; Não suporta herança múltipla de implementação nem ponteiros. 26

Máquina virtual Java (JVM) 27 Figura 3 - Disponível em java/maquinavirtual2.png - Acesso em 03/03/2015

Exemplos de utilidade da JVM Roda sobre o sistema operacional; Otimiza o código através de hotspots; Utiliza o Just in Time Compiler para isso; 28

JVM, JDK ou JRE, qual baixar? JVM (Java Virtual Machine) é apenas máquina virtual, ela vem junto com o JDK ou JRE; JRE (Java Runtime Enviroment) é o ambiente de execução Java; JDK (Java Development Kit) é o JRE com o compilador Java e outras ferramentas; 29

IDEs Netbeans – Eclipse – Jcreator – Processing – BlueJ – Jbuilder – DrJava – 30

Comparação de código Java com C Ambos códigos fazem a mesma função. 31 Código em C: #include int main(void) { printf("Hello World\n"); return 0; } Código em Java: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }

Onde posso aprender Java? Livros: Lewis, John; Loftus, William Java Software Solutions Foundations of Programming Design. Pearson Education. Deitel, Paul; Deitel, Harvey. Java Como programar Pearson Education. 32

Onde posso aprender Java? Sites: - Apostila online Comunidade de programação internacional Comunidade de programação brasileira Repositório de programas com explicação do código 33

Onde posso aprender Java? Sites: - Repositório de códigos de programas Repositório de códigos de programas (Muitos open sources) Se nada der certo... Ou se der muito certo! - Site de freelancers desenvolvedores, designers. 34

Referências Lewis, John; Loftus, William (2012). Java Software Solutions Foundations of Programming Design 7th ed. Pearson Education. Deitel, Paul; Deitel, Harvey (2010). Java Como programar 8ª ed. Pearson Education. - Acesso em 03/03/ por-us-7-4-bilhoes shl - Acesso em 03/03/

Referências Figura 1 - Disponível em content/uploads/2012/11/Black-Box-Testing- QAInsights.png - Acesso em 03/03/2015 Figura 2 - Disponível em ulamento.jpg - Acesso em 03/03/2015 Figura 3 - Disponível em objetos/o-que-e-java/maquinavirtual2.png - Acesso em 03/03/