A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Programação OO Usando Java Profa

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação OO Usando Java Profa"— Transcrição da apresentação:

1 Introdução à Programação OO Usando Java Profa
Introdução à Programação OO Usando Java Profa. Isabel Harb Manssour (Material adaptado das aulas dos Profs. Luciana Porcher Nedel, Júlio Pereira Machado e Bernardo Copstein) O que é um paradigma de programação? O que é orientação a objetos? O que é Java? Histórico e versões da linguagem Características Fontes de consulta na web Estrutura de um programa Java Biblioteca de classes Primeiros programas

2 O que é um paradigma de programação?
As linguagens de programação podem forçar um certo “estilo” de programação Exemplo: Linguagem de programação C Execução seqüencial Variáveis e comandos de atribuição Comandos de repetição Comandos de seleção Conjunto de funções Paradigma de Programação

3 O que é um paradigma de programação?
É um padrão conceitual que orienta soluções de projeto e implementação Paradigmas explicam como os elementos que compõem um programa são organizados e como interagem entre si Exemplos de paradigmas Procedural Orientado a objetos Funcional Concorrente

4 O que é orientação a objetos?
Foco está nos dados e nas operações sobre os dados, e não sobre procedimentos É baseada na modelagem de objetos do mundo real O que é um objeto? Uma entidade que você pode reconhecer Uma abstração de um objeto do mundo real Uma estrutura composta de dados (“estado local”) e operações (executa processamentos) Recebe e envia mensagens

5 O que é orientação a objetos?
Componentes básicos do paradigma OO: classes: encapsulam dados e operações, relacionam-se com outras classes por herança e associações objetos: instâncias de classes, têm estado e comportamento mensagens: trocas de informação entre objetos

6 O que é orientação a objetos?
Possui características (atributos) e comportamento (operações). Exemplo: caneta características: cor da tinta, quantidade de tinta, etc. comportamento: escrever, recarregar, etc. Exemplo: carro características: cor, modelo, ano, etc. comportamento: acelerar, frear, etc.

7 O que é orientação a objetos?
veículos Ferrari IDN8810 veículo objeto1 Marca Placa instâncias Fiat Uno IAS3333 ler_placa classe objeto2

8 O que é orientação a objetos?
Um programa orientado a objetos é estruturado como uma comunidade de objetos que interagem entre si Cada objeto tem um papel a cumprir Cada objeto oferece um serviço ou realiza uma ação que é usada por outros membros da comunidade Exemplo: motorista e um carro Motorista dirige o carro, mas não precisa conhecer os detalhes sobre como os sistemas de engrenagem, por exemplo, funcionam. Daí vem outro conceito do paradigma OO (que é o coração da programação OO) <trocar slide>

9 O que é Java? Ilha da Indonésia Café Linguagem de programação
Tipo de café importado Linguagem de programação Enquanto isso, comerciantes europeus da Holanda, Alemanha e Itália certamente estavam exportando grãos e, também, tentando introduzir a lavoura em suas colônias. Os holandeses foram os primeiros a iniciar o cultivo comercial no Sri Lanka, em 1658, e então em Java, em 1699, e por volta de 1706 eles estavam exportando o primeiro café de Java e estendendo a produção para outras partes da Indonésia. Em 1714, os holandeses bem-sucedidos presentearam Luís XIV da França com um pé de café que cresceu numa estufa em Versailles e quando deu frutos, as sementes foram espalhadas e as mudas foram levadas para o cultivo na ilha de Réunion, na época chamada de Ilha de Bourbon. A variedade de arbustos de café que se desenvolveu daquela árvore em Paris tornou-se conhecida como o café Bourbon e foi a fonte original de grãos hoje conhecidos no Brasil como Santos e no México como Oaxaca.

10 Histórico e versões da linguagem
1991 Patrick Naughton, Mike Sheridan e James Gosling criaram a linguagem em 1991, no ¨GreenProject¨ da Sun; Uma equipe de 13 pessoas (o ¨Green Team¨) se trancou num escritório na Sand Hill Road em Menlo Park. Eles cortaram as comunicações com a Sun e trabalharam 18 meses sem parar; O objetivo do “Green Team” era desenvolver software para controlar eletrodomésticos (TVs interativas, torradeiras interativas, etc.); Acredita-se que próxima área importante em que os microprocessadores terão impacto serão os disp. Eletrônicos inteligentes destinados ao consumidor final SUN financiou projeto com codinome Greens em 1991 Resutado desenvolvimento LP baseada em C/C++ chamada Oak (carvalho que o desenvolvedor James Gosling via da janela do escrit;orio) Já existia LP com este nome Equipe da SUN visitou uma cafeteria local, o nome Java (cidade de origem de um tipo de café importado) foi sugerido e pegou

11 Histórico e versões da linguagem
S.O. para o controle de uma rede de eletrodomésticos; Idéia inicial: usar C++ Objetivos: linguagem pequena, eficiente e facilmente portável; Linguagem Oak; O surgimento da Web redirecionou Oak dando origem a Java. Uma continuação da LP para dispositivos eletrônicos inteligentes é a ?Jini? Com a explosão da Web em 1993, as pessoas da SUN viram o imediato potencial de utilizar Java para criar páginas da Web com o chamado “conteúdo dinâmico”.

12 Histórico e versões da linguagem
1994 Criado um navegador que permitia executar applets Java: HotJava

13 Histórico e versões da linguagem
1995 Em 23/05, John Gage, diretor da Sun Microsystems e Marc Andreessen, da Netscape, anunciaram que a linguagem já era realidade e seria incorporada ao Navigator; Novembro: A linguagem Java foi disponibilizada pela 1ª vez: JDK 1.0 (Java Development Kit) Adoção de Java na Web: segurança  applets rodam em um ambiente controlado (browsers)

14 Histórico e versões da linguagem
1997 JDK 1.1 ( Nova forma de tratar os eventos JDBC (acesso a banco de dados) Swing (modelo de interface independente de plataforma) Java 3D

15 Histórico e versões da linguagem
Ambientes de programação: Visual J++ (Microsoft), JBuilder (Borland), Visual Café (Symantec), Kawa, BlueJ, Java Workshop (SunSoft), SuperCede, JFactory (Rogue Wave), ... Crescimento da linguagem (parte do público Web migrou para soluções mais simples JavaScript e VBScript) A implementação de referência da SUN compreende basicamente um compilador Java, um depurador, a biblioteca de classes e uma versão da JVM para cada uma das plataformas suportadas pela SUN. A implementação padrão não oferece editor de texto nem ambiente integrado visual de desenvolvimento. Para dispor de um ambiente desse tipo é necessário adquirir um. Entre as vantagens da existência de uma implementação de referência de domínio público podemos citar: - Disponibilidade para ensino - Pode ser usada para desenvolvimento - Facilita a manutenção do padrão - Facilita a criação/distribuição de software livre

16 Histórico e versões da linguagem
1999 JDK 1.2 ou Java 2 Correção de bugs, otimização e sedimentação dos conceitos Possibilidade de fazer “drag and drop” Revisão dos recursos de áudio

17 Histórico e versões da linguagem
Observação A partir da versão 1.2 a SUN passou a chamar seu pacote de SDK (System Development Kit) Porém, o nome JDK continua a ser usado no lugar de SDK, até mesmo pela SUN (exemplo: o SDK 1.3 é instalado em um diretório chamado JDK1.3 : ) SDK é oferecido em duas versões: Standart Edition: voltada ao desenvolvimento de applets, aplicações stand alone ou aplicações cliente Enterprise Edition: reune um conjunto de tecnologias voltadas para o desenvolvimento de aplicações servidoras A partir da versão 1.2 a SUN passou a chamar seu pacote de SDK (System Development Kit) que é oferecido em 2 versões: standart e enterprise edition. A versão standart é voltada ao desenvolvimento de applets, aplicações stand alone ou aplicações cliente. A versão enterprise edition reune um conjunto de tecnologias voltadas para o desenvolvimento de aplicações servidoras. A partir da versão 1.2 a linguagem passou também a ser conhecida como Java 2. Uma confusão comum é que o nome JDK continua a ser usado no lugar de SDK, tanto pela comunidade em geral, como pela própria SUN em alguns casos. Uma evidência deste fato é que ao se instalar o SDK 1.3 ele é instalado em um diretório chamado JDK1.3.

18 Histórico e versões da linguagem
Java 1.0.2: a mais suportada pelos browsers Java 1.1.5: 1o Semestre de 97. Aprimoramento na interface com o usuário e tratamento de eventos Java 2: versão atual. Lançada em dezembro de 98. JavaTM 2 Platform, Standard Edition (J2SETM) The premier solution for rapidly developing and deploying mission-critical, enterprise applications, J2SETM provides the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications in the Java programming language. Overview A Beta release of the Java 2 Platform, Standard Edition version software for Windows, Linux, and SolarisTM is now available. Additionally, Early Access 64-bit releases for Itanium processors are available for both Linux and Windows. (June 2002)

19 Características Java é tanto uma linguagem de programação de alto nível quanto uma plataforma. Como linguagem, Java é Orientada a objetos Independente de arquitetura (multiplataforma) Portável Robusta Segura Interpretada Distribuída etc. Portável: execução independente de plataforma; especifica explicitamente o tamanho de cada um dos seus tipos de dados primitivos Robusta: tem tratamento de exceções, é fortemente tipada (verificação de tipos em tempo de compilação); não tem acesso a ponteiros; verificação de intervalo de índices de array em tempo de execução. Segura: tem mecanismos de segurança (senão ninguém baixaria um applet); anda lado a lado com o fato de Java ser robusta. Interpretada: gera bytecodes que são executados em qualquer máquina que tenha o interpretador Distribuída: acesso simples a objetos distribuídos na rede através de URLs; tem bibliotecas que tratam os protocolos TCP/IP, HTTP, FTP, SNMP; programação cliente-servidor usando sockets

20 Características Java é tanto compilada quanto interpretada. O compilador transforma o programa em bytecodes (instruções de máquina compreendidas pela Java Virtual Machine), que são transformados em linguagem de máquina pelo interpretador. Java Program MyProgram.java MyProgram.class Compiler Interpreter

21 Características Como plataforma, Java compreende uma JVM (Java Virtual Machine - interpretador Java - runtime Java) e uma API (Java Application Programming Interface) Interpreter Java Program MyProgram.java Compiler Java Virtual Machine PC-compatible Windows NT Sun Ultra Solaris Power Macintosh System 8 javac.exe java.exe Tem uma versão da JVM para cada uma das plataformas suportadas pela SUN

22 “Write once, run anywhere”
Características Os bytecodes são o que torna possível o slogan criado pela Sun: “Write once, run anywhere” A linguagem permite a escrita de programas que podem executar em web pages ou rodar normalmente em qualquer computador que suporte Java

23 Características Pode ainda ser executada em televisões, relógios de pulso e telefones celulares Java herda grande parte dos conceitos de Orientação à Objetos do C++, linguagem em que está baseada. Mais simples, menos propensa a erros e mais fácil de aprender que o C. Algumas desvantagens do C++ que não foram incluídas em Java (tornando-a mais simples): herança múltipla, ponteiros

24 Características Existem 3 tipos de programas em Java:
Applications (programas normais ordinários) console applications: suportam saída em modo texto windowed Java applications: cria e gerencia múltiplas janelas, usa mecanismos de GUI (Graphical User Interface) para programação em janelas. Applets (programas em web pages) atualmente existe mais de 1 milhão de páginas na web incluindo applets Java Java 1.0.2: suportado pela maioria dos browsers Suportar saída em modo texto: em uma janela dos/unix (linha de comando)

25 Características Servlets Aplicações cliente-servidor
Executa no servidor (ao contrário dos applets) Estende a funcionalidade de um servidor Modelo cliente solicita ação e servidor realiza a ação Implementação comum está entre navegadores Web e servidores Web. Usuário seleciona um site(aplicativo cliente), uma solicitação é enviada para o servidor Web apropriado (aplicativo servidor). Servidor responde enviando a página. Servlets aprimoram a funcionalidade de servidores da Web.

26 Características Problema:
Para ter flexibilidade e segurança, abre-se mão do tempo de execução; Um programa Java típico roda 10 vezes mais lento que um programa equivalente em linguagem nativa; Mas… se o seu ambiente Java suportar JIT (Just-in-time compilation), o problema está resolvido. Compiladores JIT convertem programas Java para linguagem de máquina nativa assim que os mesmos são lidos. Penalidade: a leitura dos programas se torna mais lenta.

27 Características Futuro da linguagem Java
A idéia principal por trás da plataforma (linguagem + ambiente) Java é a portabilidade. A integração entre dispositivos diferentes, como computadores e torradeiras, saiu do campo da ficção científica diretamente para os laboratórios.

28 Características Java Real Machine - foi desenvolvido um processador Java (o JavaChip) que permite executar os bytecodes diretamente. Um chip como esse pode equipar diversos aparelhos domésticos. Já existem protótipos de sistemas de navegação para veículos, sistemas embutidos, smart cards, vídeo-fones, etc.

29 Características

30 Características Nos negócios, a possibilidade de integrar facilmente sistemas com arquiteturas diferentes à Internet é uma grande vantagem.

31 Fontes de consulta na web
(site oficial) (código e tutoriais) (notícias) (revista) (Java Developers Journal)

32 Fontes de consulta na web
(Clube Java Brasil) (Java User Group - GO) (JUG DF) (JUG Sucesu-SP) (JUG Sucesu-MG) (página pessoal) (seção do Cadê)

33 Estrutura de um Programa Java
Um programa Java é um conjunto composto por uma ou mais classes Tipicamente, cada classe é implementada em um arquivo fonte separado, sendo que o arquivo deve ter o mesmo nome da classe Exemplo: a classe Veiculo deve estar definida no arquivo Veiculo.java Em geral, os arquivos que compõem um programa Java devem estar no mesmo diretório - Todo programa Java tem uma classe definida pelo usuário: class <identificador> identificador da classe começa com letra maiúscula ou ex. SampleClassName - por convenção Nome do arquivo = nome da classe quando a classe é public (tb pode ser parte do nome da classe): HelloPeople.java (um arquivo não pode ter mais que uma classe public); obs: {} - digitar sempre junto (abriu-fechou, depois reposiciona o cursor - USAR TAB UNIFORME!!) public static void main- é uma parte de todo aplicativo Java; aplicativos Java automaticamente começam executando em main (que é um método); se não tiver main, o aplicativo não é executado. System.out é conhecido como objeto de saída padrão; permite aos aplicativos exibir strings na janela de comando (print(“\n”), println; \t-tabulação, \“-imprime aspas, \\, \r-retorno de carro) javac HelloPeople.java // com a extensão java HelloPeople // omite a extensão .class

34 Biblioteca de Classes Coleção de classes predefinidas que provêem uma série de facilidades que podem ser usadas em programas Classes são agrupadas em conjuntos chamados pacotes (packages) Pacotes são referidos coletivamente como biblioteca de classes Java ou interface de programação de aplicativos Java (Java applications programming interface - Java API) Cada programa tem que ter pelo menos uma classe definida pelo programador Comentários para JavaDoc (também pode colocar tags html) /** @see @author @param @throws @return */

35 Biblioteca de Classes Instrução import é usada para identificar e carregar classes requeridas Exemplos de pacotes: java.lang: inclui classes básicas, manipulação de arrays e strings. Este pacote é carregado automaticamente pelo programa java.io: operações de input e output java.awt: suportam aplicações em janelas java.util: classes diversas para manipulação de dados Cada programa tem que ter pelo menos uma classe definida pelo programador Comentários para JavaDoc (também pode colocar tags html) /** @see @author @param @throws @return */

36 Primeiros programas // Primeiro programa Java
public class HelloPeople { public static void main (String args[]) { System.out.println(“Hello People!”); } - Todo programa Java tem uma classe definida pelo usuário: class <identificador> identificador da classe começa com letra maiúscula ou ex. SampleClassName - por convenção Nome do arquivo = nome da classe quando a classe é public (tb pode ser parte do nome da classe): HelloPeople.java (um arquivo não pode ter mais que uma classe public); obs: {} - digitar sempre junto (abriu-fechou, depois reposiciona o cursor - USAR TAB UNIFORME!!) public static void main- é uma parte de todo aplicativo Java; aplicativos Java automaticamente começam executando em main (que é um método); se não tiver main, o aplicativo não é executado. System.out é conhecido como objeto de saída padrão; permite aos aplicativos exibir strings na janela de comando (print(“\n”), println; \t-tabulação, \“-imprime aspas, \\, \r-retorno de carro) javac HelloPeople.java // com a extensão java HelloPeople // omite a extensão .class

37 Primeiros programas Observações:
class: palavra reservada que marca a declaração de uma classe (cada programa java consiste de pelo menos uma definição de classe). public: especificador (globalmente acessível) static: especificador que indica que o método deve ser compartilhado por todos os objetos criados a partir dessa classe. Indica que o método é acessível mesmo se não houverem objetos definidos. Cada programa tem que ter pelo menos uma classe definida pelo programador Comentários para JavaDoc (também pode colocar tags html) /** @see @author @param @throws @return */

38 Primeiros programas O main é sempre static posto que é chamado sem que se crie nenhum objeto de sua classe. void: valor de retorno da função. System.out.println: chamado do método println para o atributo out (standard output: objeto membro da classe System) da classe ou objeto System (classe standard). O argumento é uma constante do tipo String. Classe System é parte do pacote java.lang

39 Primeiros programas // Segundo programa Java import java.io.*;
public class Quadrado { public static void main (String args[]) { int i; System.out.println(“Numero \t Quadrado”); for (i=1; i<=10; i++) System.out.println(i + "\t " + i*i); } - Todo programa Java tem uma classe definida pelo usuário: class <identificador> identificador da classe começa com letra maiúscula ou ex. SampleClassName - por convenção Nome do arquivo = nome da classe quando a classe é public (tb pode ser parte do nome da classe): HelloPeople.java (um arquivo não pode ter mais que uma classe public); obs: {} - digitar sempre junto (abriu-fechou, depois reposiciona o cursor - USAR TAB UNIFORME!!) public static void main- é uma parte de todo aplicativo Java; aplicativos Java automaticamente começam executando em main (que é um método); se não tiver main, o aplicativo não é executado. System.out é conhecido como objeto de saída padrão; permite aos aplicativos exibir strings na janela de comando (print(“\n”), println; \t-tabulação, \“-imprime aspas, \\, \r-retorno de carro) javac HelloPeople.java // com a extensão java HelloPeople // omite a extensão .class

40 Primeiros programas C:\> javac Quadrado.java C:\> java Quadrado
Numero Quadrado - Todo programa Java tem uma classe definida pelo usuário: class <identificador> identificador da classe começa com letra maiúscula ou ex. SampleClassName - por convenção Nome do arquivo = nome da classe quando a classe é public (tb pode ser parte do nome da classe): HelloPeople.java (um arquivo não pode ter mais que uma classe public); obs: {} - digitar sempre junto (abriu-fechou, depois reposiciona o cursor - USAR TAB UNIFORME!!) public static void main- é uma parte de todo aplicativo Java; aplicativos Java automaticamente começam executando em main (que é um método); se não tiver main, o aplicativo não é executado. System.out é conhecido como objeto de saída padrão; permite aos aplicativos exibir strings na janela de comando (print(“\n”), println; \t-tabulação, \“-imprime aspas, \\, \r-retorno de carro) javac HelloPeople.java // com a extensão java HelloPeople // omite a extensão .class


Carregar ppt "Introdução à Programação OO Usando Java Profa"

Apresentações semelhantes


Anúncios Google