Java. PUC-MG Prof.ª Kecia Aline Marques Ferreira

Tamanho: px
Começar a partir da página:

Download "Java. PUC-MG Prof.ª Kecia Aline Marques Ferreira"

Transcrição

1 Java PUC-MG Prof.ª Kecia Aline Marques Ferreira

2 Conceitos e Técnicas Obtendo Java Conceitos Fundamentais Pacotes Operadores e Estruturas de Controle Tipos Básicos Modificadores Semântica de Referência Arranjos Composição de Objetos Passagem de Parâmetros Herança Classes Abstratas Interfaces Polimorfismo Tratamento de Exceções Kecia Marques 2

3 Obtendo JAVA Kecia Marques 3

4 Sun Microsystems Java é uma linguagem de programação orientada por objetos amplamente difundida. Foi desenvolvida pela Sun Microsystems por James Gosling. Na linguagem Java, é gerado um código intermediário, denominado bytecode, a ser interpretado e executado pela JVM (Java Virtual Machine). A vantagem disso é o alto grau de portabilidade dos programas..java são os arquivos de código fonte.class são os arquivos compilados, os bytecodes. Kecia Marques 4

5 Para utilizar Java Site oficial de Java: Para utilizar Java é preciso: Baixar e instalar o JDK: Java SE Development Kit Preferencialmente baixar e instalar uma ferramenta IDE. Exemplos de IDE free: Eclipse: NetBeans: da Sun, disponível em Kecia Marques 5

6 Para saber mais sobre Java Tutorial da Sun: Deitel, H. M.; Deitel, P. J. Java - Como Programar. 6. ed. Prentice-Hall, Kecia Marques 6

7 Conceitos Fundamentais Kecia Marques 7

8 Classe Uma classe é um conceito OO que encapsula as abstrações de dados e procedimentos necessários para descrever o conteúdo e o comportamento de alguma entidade do mundo real. Pressman, Uma classe é a implementação do objeto, seus serviços e propriedades destes serviços. Uma classe corresponde a um TAD (tipo abstrato de dados) Kecia Marques 8

9 TAD TAD (Tipo abstrato de dados) é a representação encapsulada de um tipo definido pelas suas operações TAD e uma estrutura de programação na qual uma determinada estrutura de dados é conhecida somente via as operações realizadas sobre os seus elementos de dados, sem que se identifique como a estrutura é codificada Staa, 2000 A programação orientada por objetos é o resultado do uso da abstração de dados no desenvolvimento de softwares Kecia Marques 9

10 Objeto Uma classe descreve uma categoria genérica. Um objeto é uma instância de uma classe. Uma instância de uma classe é uma estrutura de dados que representa um membro específico da categoria. Exemplo: classe: Aluno são objetos da classes Aluno: João, Paulo, Sílvia, Marina, Jurema, Felício. Objeto é uma estrutura computacional que representa um objeto do mundo real. Kecia Marques 10

11 Membros de uma classe Uma classe possui: Atributos: também denominados membros de dados ou campos. Representam as características que os objetos da classe possuem. Métodos: também denominados membros de função ou operações. Representam o comportamento que os objetos da classe possuem. Kecia Marques 11

12 Um exemplo simples Conta Corrente Seja o contexto de automação bancária. Identificam-se as seguintes classes neste contexto: cliente, agência, conta, conta corrente, conta poupança, dentre outras. A figura a seguir mostra a estrutura da classe ContaCorrente. Kecia Marques 12

13 Um exemplo simples Conta Corrente Atributos: numero, agência e saldo. Métodos: depositar, sacar, consultar saldo. Kecia Marques 13

14 Um exemplo simples Conta Corrente O código a seguir mostra uma implementação possível para esta classe em Java. public class ContaCorrente { private long numero; private int agencia; private double saldo; public ContaCorrente(long n, int ag) { numero = n; agencia = ag; saldo = 0.0; Kecia Marques 14

15 Um exemplo simples Conta Corrente public void sacar(double valor){ if (valor > 0) saldo = saldo - valor; public void depositar(double valor){ if (valor > 0) saldo = saldo + valor; public double consultarsaldo(){ return (saldo); Kecia Marques 15

16 Um exemplo simples Conta Corrente No exemplo, o método ContaCorrente (de mesmo nome da classe) é denominado construtor. Um método construtor é utilizado para determinar o estado inicial do objeto. Em Java, objetos são criados utilizando-se a palavra reservada new. Kecia Marques 16

17 Criação de Objetos 1 ContaCorrente minhaconta; 2 minhaconta = new ContaCorrente(12345, 236); A linha 1 cria uma área na memória que é uma referência para um objeto da classe ContaCorrente. minhaconta Kecia Marques 17

18 Criação de Objetos 1 ContaCorrente minhaconta; 2 minhaconta = new ContaCorrente(12345, 236); A linha 2 cria cria um objeto da classe ContaCorrente e o atribui a minhaconta; minhaconta Numero = Agencia = 236 Saldo = 0 Kecia Marques 18

19 Comunicação entre Objetos Programas orientados por objetos são constituídos por objetos que trocam mensagens entre si. O envio de uma mensagem a um objeto corresponde a invocar um método de tal objeto. Kecia Marques 19

20 Comunicação entre Objetos Em minhaconta.depositar(350.00); O método depositar do objeto minhaconta é invocado. Em outras palavras, é enviada uma mensagem para o objeto minhaconta para que este realize a operação depositar. Kecia Marques 20

21 Interface de Classe Uma classe é conhecida externamente por sua interface, que descreve os serviços que ela fornece e como eles podem ser utilizados, ocultando a sua implementação. Os membros públicos de uma classe constituem a sua interface. Informações que fazem parte da interface da classe: nome da classe; assinatura dos construtores e métodos públicos da classe; atributos públicos da classe. Kecia Marques 21

22 Exercício Para o exemplo de automação bancária citado anteriormente: a) Identifique os atributos e os métodos das classes Cliente e Conta Poupança. b) Implemente a classe Cliente em Java. Kecia Marques 22

23 Pacotes Kecia Marques 23

24 Organização de Classes Em Java classes são organizadas em pacotes. Um pacote é um conjunto de classes relacionadas. A palavra package indica o pacote ao qual a classe pertence. Kecia Marques 24

25 Organização de Classes Exemplo: package rh; public class Funcionario { //corpo da classe funcionario (A classe Funcionario está dentro de um pacote chamado rh. No Windows, um pacote corresponde a uma pasta onde ficam armazenadas as suas classes). Kecia Marques 25

26 Organização de Classes Exemplo: o JUnit (uma biblioteca open source para realizar testes em software Java) possui os pacotes extensions, framework, runner e textui. Kecia Marques 26

27 Organização de Classes Quando uma classe necessita utilizar uma outra classe que não esteja em seu pacote é necessário importar o pacote da classe a ser utilizada. Isso é feito incluindo um comando import no início do código do arquivo.java. Exemplo: se quisermos utilizar a classe Date da API de Java, temos que importar o seu pacote. import java.util.*; Kecia Marques 27

28 Organização de Classes Cada ferramenta IDE tem uma estrutura particular para armazenar os arquivos de um projeto. Por exemplo, o Net Beans organiza os arquivos de acordo com a estrutura a seguir: build: contém os arquivos bytecodes compilados (.class) organizados em pacotes dist: contém o arquivo.jar gerado nbprojetc: contém arquivos de configuração gerados pelo Net Beans. src: onde ficam os arquivos fontes (.java) organizados em pacotes Kecia Marques 28

29 Organização de Classes Kecia Marques 29

30 Operadores e Estruturas de Controle Kecia Marques 30

31 Operadores Algumas estruturas utilizadas em Java são muito semelhantes às de C/C++ Início de fim de blocos são marcados com { Os operadores utilizados em Java são basicamente os mesmos utilizados em C/C++: Aritméticos: + - / * % Relacionais: ==!= >= <= Atribuição: = Lógicos: &&! Kecia Marques 31

32 Estruturas de controle Estruturas de controle Condicional: if (condição){ comandos; if (condição){ comandos; else{ comandos; Kecia Marques 32

33 Estruturas de controle Escolha: switch (expressão){ case constante1: comandos; break; case constante2: comandos; break;... default: comandos; Kecia Marques 33

34 Estruturas de controle Repetição: while (condição){ comandos; do{ comandos; while (condição); for (inicialização; condição; passo){ comandos; Kecia Marques 34

35 Tipos Básicos Kecia Marques 35

36 Tipos Básicos Tipos básicos de Java: boolean: true ou false byte: inteiro de oito bits com sinal. short: inteiro de 16 bits com sinal. char: caracter de 16 bits int: inteiro de 32 bits com sinal. long: inteiro de 64 bits com sinal. float: valor em ponto flutuante de 32 bits double: valor em ponto flutuante de 64 bits Kecia Marques 36

37 Wrappers (Empacotadoras) Empacotadoras: há uma classe empacotadora para cada tipo primitivo em Java boolean: Boolean byte: Byte short: Short char: Character int: Integer long: Long float: Float double: Double Kecia Marques 37

38 Wrappers (Empacotadoras) Serviços das classes empacotadoras: Contrutor: public Integer(int value) Integer numero = new Integer(5); Contrutor: public Integer(String s) Integer numero = new Integer( 5 ); Se o valor passado estiver no formato incorreto, por exemplo uma letra, é lançada uma exceção NumberFormatException. Kecia Marques 38

39 Wrappers (Empacotadoras) public static Integer valueof(string s) Método que retorna um objeto Integer que empacota um inteiro cujo valor é dado por s. obj.intvalue() Retorna um valor do tipo primitivo int empacotado pelo objeto obj, que é do tipo Integer. public static int parseint("5") Retorna um valor do tipo primitivo int que corresponde à String passada. É lançada uma exceção NumberFormatException se a String passada não for do formato de um número. Kecia Marques 39

40 Wrappers (Empacotadoras) public void testawrapper(){ boolean b = true; byte bt = 5; char c = 'k'; short s = 10; long l = 50; int i = 20; float f = 3.4f; double d = 5.8; Boolean B = new Boolean(b); Byte BT = new Byte(bt); Character C = new Character(c); Short S = new Short(s); Long L = new Long(l); Integer I = new Integer(i); Float F = new Float(f); Double D = new Double(d); Kecia Marques 40

41 Wrappers (Empacotadoras) //imprime o valor inteiro armazenado em I System.out.println("Valor inteiro de I: " + I.intValue()); //imprime o valor inteiro armazenado em I2 Integer I2 = Integer.valueOf("700"); System.out.println("Valor inteiro de I2: " + I2.intValue()); //imprime o valor de i3 int i3 = Integer.parseInt("500"); System.out.println("Valor de i3: " + i3); try{ int i4 = Integer.parseInt("cinco"); System.out.println("Valor de i4: " + i4); catch (NumberFormatException e){ System.out.println("Formato numérico inválido"); Kecia Marques 41

42 Modificadores Kecia Marques 42

43 Modificadores de Métodos Modificadores de Métodos abstract: método abstrato, sem corpo. final: método não pode ser redefinido. public: método pode ser acessado por outras classes. private: método só pode ser acessado pela própria classe. protected: método pode ser acessado por classes dentro do mesmo pacote ou pelas subclasses. static: método compartilhado por todos os objetos da classe, com acesso a apenas campos estáticos. Kecia Marques 43

44 Modificadores de Atributos Modificadores de Atributos final: atributo é uma constante. public: atributo pode ser acessado por outras classes. private: atributo só pode ser acessado pela própria classe. protected: atributo pode ser acessado por classes dentro do mesmo pacote ou pelas subclasses. static: atributo compartilhado por todos os objetos da classe. Kecia Marques 44

45 Semântica de Referência Kecia Marques 45

46 Semântica de Referência Em Java não há ponteiros. Java implementa semântica de referência. A declaração de um objeto de uma classe C cria uma referência para um objeto da classe C. C obj; Um objeto criado deve ser associado a uma referência. obj = new C(); Kecia Marques 46

47 Semântica de Referência A atribuição de uma referência b a outra a, resulta em a e b referenciando o mesmo objeto. a = new C(); b = new C(); a = b; a a após executar a=b b b Kecia Marques 47

48 Semântica de Referência O que ocorre com o objeto para o qual não há mais referência? Java possui o Coletor de Lixo (Garbage Collector) que elimina objetos pendentes na memória de tempos em tempos. Kecia Marques 48

49 Exercício Analise o programa a seguir, escrito em Java e formado pelas classes Principal e ClasseMaluca. O que ele imprime? Kecia Marques 49

50 Exercício public class ClasseMaluca { private int dado1; private int dado2; public ClasseMaluca(int d1, int d2) { dado1 = d1; dado2 = d2; public int getdado1(){ return (dado1); public int getdado2(){ return (dado2); Kecia Marques 50

51 Exercício public class Principal { public static void main (String[] args) { ClasseMaluca obja, objb; obja = new ClasseMaluca(10,20); objb = new ClasseMaluca(50,100); System.out.println(objA.getDado1() + " " + obja.getdado2()); System.out.println(objB.getDado1() + " " + objb.getdado2()); obja = new ClasseMaluca(30,60); System.out.println(objA.getDado1() + " " + obja.getdado2()); objb = obja; System.out.println(objB.getDado1() + " " + objb.getdado2()); Kecia Marques 51

52 Arranjos Kecia Marques 52

53 Arranjos Declaração de arranjos: [] junto ao tipo indica que todos os elementos declarados são arranjos. int[] a, b; // a e b são arranjos [] junto da variável indica que ela é um arranjo int a[], b; // a é arranjo, mas b não Kecia Marques 53

54 Arranjos Criação de arranjos: Arranjos devem ser criados: a = new int[4]; a Kecia Marques 54

55 Arranjos No caso de arranjo de objetos, cada posição do arranjo deve ser criada para ser então utilizada. a = new A[4]; a[0] = new A(5,9,8); a[3] = new A(11,23,5); a Kecia Marques 55

56 Arranjos public static void exemploarranjo(){ int[] a = new int[10], b; int c[], d; b = new int[10]; c = new int[5]; // d = new int[3]; Este comando dá erro de compilação // porque d não é arranjo a[0] = 10; a[9] = 20; // a[10] = 5; Este comando gera a exceção // ArrayIndexOutOfBoundsException for (int i=0; i < a.length; i++) System.out.print(a[i] + " - "); Kecia Marques 56

57 Arranjos A[] vetorobjetos = new A[5]; vetorobjetos[1] = new A(1,2,3); vetorobjetos[1].imprimevalores(); // vetorobjetos[2].imprimevalores(); // Este comando gera a exceção NullPointerException Kecia Marques 57

58 Composição de Objetos Kecia Marques 58

59 Composição de Objetos Uma classe pode possuir um membro de dado que seja um objeto de outra classe. Esse tipo de relacionamento é chamado composição. Exemplos: Um Círculo possui um Ponto como centro. Uma Conta Corrente é de um Cliente. Uma Turma tem um Professor. Uma Turma tem muitos Alunos. Kecia Marques 59

60 Classe Ponto public class Ponto { private float x, y; public Ponto(float x, float y){ this.x = x; this.y = y; public void alterarx(float x){ this.x = x; public void alterary(float y){ this.y = y; public float obterx(){ return x; public float obtery(){ return y; Kecia Marques 60

61 Classe Circulo public class Circulo { private float raio; private Ponto centro; public Circulo(float x, float y, float r){ raio = r; centro = new Ponto(x,y); public void alterarcentro(float x, float y){ centro.alterarx(x); centro.alterary(y); public void alterarraio(float r){ raio = r; public float obtercentrox(){ return centro.obterx(); Kecia Marques 61

62 Classe Circulo public float obtercentroy(){ return centro.obtery(); public float obterraio(){ return raio; Kecia Marques 62

63 Classe Aplicacao import java.util.scanner; public class Aplicacao { public static void main(string[] args){ float x, y, raio; Circulo circ; Scanner in = new Scanner (System.in); System.out.println("Digite as coordenadas do centro: "); x = in.nextfloat(); y = in.nextfloat(); System.out.println("Digite o raio: "); raio = in.nextfloat(); circ = new Circulo (x, y, raio); System.out.println("Circulo criado: "); System.out.println("Raio: " + circ.obterraio()); System.out.println("Centro: (" + circ.obtercentrox() + ", " + circ.obtercentroy() + ")."); System.out.println(""); Kecia Marques 63

64 Passagem de Parâmetros Kecia Marques 64

65 Passagem de parâmetros Em Java a passagem de parâmetros para métodos se dá sempre por valor. Não existe passagem de parâmetro por referência em Java. O que ocorre quando um objeto é passado por parâmetro? Kecia Marques 65

66 Passagem de parâmetros Quando um objeto é passado por parâmetro, na verdade a sua referência está sendo passada por parâmetro. Alterações realizadas no objeto dentro do método tem impacto no argumento passado para o método. Por exemplo, se o objeto a for passado como parâmetro para um método m(a x) e em m ocorrer alguma alteração em x (enquanto este estiver referenciando o mesmo objeto que a), após a execução de m, a estará com as alterações sofridas por x. Kecia Marques 66

67 Passagem de parâmetros Exemplo: considerando as classes Ponto e Circulo mostradas anteriormente, o que a classe Aplicação a seguir gera como saída para entradas 1, 1 e 2? Kecia Marques 67

68 Classe Aplicação public class Aplicacao { public static void alteracirculo(circulo c){ c.alterarcentro(10, 20); c.alterarraio(5); System.out.println("\n\n**Dados do circulo dentro do método: **"); System.out.println("Raio: " + c.obterraio()); System.out.println("Centro: (" + c.obtercentrox() + ", " + c.obtercentroy() + ")."); c = new Circulo(3,3,9); System.out.println("\n\n**Dados do novo circulo dentro do método: **"); System.out.println("Raio: " + c.obterraio()); System.out.println("Centro: (" + c.obtercentrox() + ", " + c.obtercentroy() + ")."); Kecia Marques 68

69 Classe Aplicação public static void main(string[] args){ float x, y, raio; Circulo circ; Scanner in = new Scanner (System.in); System.out.println("Digite as coordenadas do centro: "); x = in.nextfloat(); y = in.nextfloat(); System.out.println("Digite o raio: "); raio = in.nextfloat(); circ = new Circulo (x, y, raio); System.out.println("Circulo criado: "); System.out.println("Raio: " + circ.obterraio()); System.out.println("Centro: (" + circ.obtercentrox() + ", " + circ.obtercentroy() + ")."); //Passando objeto circ como parâmetro alteracirculo(circ); Kecia Marques 69

70 Classe Aplicação System.out.println("\n**Circulo após execução do método: **"); System.out.println("Raio: " + circ.obterraio()); System.out.println("Centro: (" + circ.obtercentrox() + ", " + circ.obtercentroy() + ")."); System.out.println(""); Circulo criado: Raio: 2.0 Centro: (1.0, 1.0). **Dados do circulo dentro do método: ** Raio: 5.0 Centro: (10.0, 20.0). **Dados do novo circulo dentro do método: ** Raio: 9.0 Centro: (3.0, 3.0). **Circulo após execução do método: ** Raio: 5.0 Centro: (10.0, 20.0). Kecia Marques 70

71 Passagem de Arranjos como Parâmetros Para passar um arranjo como parâmetro, deve-se indicar o nome do arranjo sem colchetes na chamada do método. metodo(arranjo); O método que recebe o arranjo como parâmetro deve indicar isso na sua lista de parâmetros. void metodo(int b[]) Kecia Marques 71

72 Passagem de Arranjos como Parâmetros Quando um arranjo é passado como parâmetro, o que o método recebe é uma cópia da sua referência. Desta forma, alterações sofridas pelo arranjo no método refletem no arranjo que foi passado como parâmetro. Kecia Marques 72

73 Classe Aplicação public class TesteArranjo { public static void alteraarranjo(int b[]){ for(int i=0; i<b.length; i++){ b[i] = i*2; System.out.println( \n**arranjo b**"); for (int valor : b) System.out.print(valor + " - "); b = new int[3]; System.out.println("\n**Novo arranjo b**"); for (int valor : b) System.out.print(valor + " - "); Kecia Marques 73

74 Classe Aplicação public static void main(string[] args){ int[] a = {1,2,3,4,5; System.out.println("\n**Arranjo a antes da chamada do método**"); for (int valor : a) System.out.print(valor + " - "); alteraarranjo(a); System.out.println("\n**Arranjo a após a chamada do método**"); for (int valor : a) System.out.print(valor + " - "); Kecia Marques 74

75 Classe Aplicação **Arranjo a antes da chamada do método** **Arranjo b** **Novo arranjo b** **Arranjo a após a chamada do método** Kecia Marques 75

76 Herança Kecia Marques 76

77 Herança Herança é um recurso que permite que novas classes sejam definidas a partir de classes já definidas. Na hierarquia de classes: Super classes (ou ascendente): são as ascendentes de um classe. Sub classes (ou descendente): são as descendentes de um classe Classe mãe: é a ascendente direta de um classe Classe filha: é a descendente direta de uma classe. Kecia Marques 77

78 Herança No exemplo: Filha é descendente ou subclasse de Mãe e Avó. Mãe e Avó são ascendentes ou superclasses de Filha Mãe é descendente ou subclasse de Avó. Mãe é filha de Avó. Significa que: Mãe herda características e comportamentos de Avó. Filha herda características e comportamentos de Mãe e de Avó. Kecia Marques 78

79 Herança No exemplo: Conta é superclasse de Conta Corrente e de Conta Poupança. Conta Corrente econta Poupança são subclasses de Conta. Kecia Marques 79

80 Herança Significa que: Conta Corrente herda características e comportamentos de Conta. Conta Poupança herda características e comportamentos de Conta. Kecia Marques 80

81 Herança Kecia Marques 81

82 Herança No exemplo: Conta Corrente possui como atributos: número, saldo e limite, pois herda os dois primeiros da classe Conta. Conta Corrente possui como métodos: criar, depositar, sacar, consultarsaldo, obternumero, e consultarsaldototal, consultarlimite e alterarlimite, sendo que os cinco primeiros são herdados de Conta. Kecia Marques 82

83 Herança No exemplo: Conta Poupança possui como atributos: número, saldo e rendimento, pois herda os dois primeiros da classe Conta. Conta Poupança possui como métodos: criar, depositar, sacar, consultarsaldo, obternumero e atualizarrendimentos, sendo que, os cinco primeiros são herdados de Conta. Kecia Marques 83

84 Herança Exemplo de implementação de herança em Java A palavra chave extends indica herança em Java. public class A extends B Indica que a classe A herda da classe B Kecia Marques 84

85 Herança public class A { protected int x, y; private int z; public A(int a, int b, int c) { x = a; y = b; z = c; public int obterx(){ return (x); public int obtery(){ return (y); Kecia Marques 85

86 Herança public int obterz(){ return (z); public void alterarx(int a){ x = a; public void alterary(int a){ y = a; public void alterarz(int a){ z = a; Kecia Marques 86

87 Herança public void ImprimeValores(){ System.out.println("O valor de X é: " + x); System.out.println("O valor de Y é: " + y); System.out.println("O valor de Z é: " + z); public class B extends A{ private int k; public B(int a, int b, int c, int d){ super (a,b,c); k = d; Kecia Marques 87

88 Herança public void ImprimeValores(){ System.out.println("O valor de X é: " + x); System.out.println("O valor de Y é: " + y); System.out.println("O valor de K é: " + k); System.out.println("Z não pertence a esta classe"); System.out.println("O valor de Z da superclasse é: " + obterz()); Kecia Marques 88

89 Herança public class TesteHeranca { public static void main (String[] args){ B obj1 = new B(10,20,30,40); obj1.imprimevalores(); obj1.alterary(100); obj1.imprimevalores(); Kecia Marques 89

90 Herança O exemplo de código a seguir mostra a implementação das classes Conta e ContaCorrente em Java. É mostrada também uma classe MainBanco para exemplificar o uso das classes criadas. Kecia Marques 90

91 Herança public class Conta { long numero; double saldo; public Conta(long n) { numero = n; saldo = 0; public void depositar(double v){ if (v > 0) saldo = saldo + v; Kecia Marques 91

92 Herança public boolean sacar(double v){ if ( (v > 0) && (saldo-v) >= 0){ saldo = saldo - v; return true; else return false; public double consultarsaldo(){ return(saldo); Kecia Marques 92

93 Herança public long obternumero(){ return(numero); // Fim da classe Conta public class ContaCorrente extends Conta{ double limite; public ContaCorrente(long n, double l) { super(n); limite = l; Kecia Marques 93

94 Herança public void alterarlimite(double l){ if (l > 0) limite = l; public double consultarlimite(){ return limite; Kecia Marques 94

95 Herança public boolean sacar(double v){ if ((v > 0) && (saldo + limite - v ) >= 0){ saldo = saldo - v; return true; else return false; public double consultarsaldototal(){ return(saldo + limite); // Fim da classe Conta Corrente. Kecia Marques 95

96 Herança public class MainBanco { public static void main (String[] args){ ContaCorrente minhaconta; minhaconta = new ContaCorrente(12345, 300); System.out.println("Numero da Conta: " + minhaconta.obternumero()); System.out.println("Saldo: " + minhaconta.consultarsaldo()); Kecia Marques 96

97 Herança minhaconta.alterarlimite(200); System.out.println("Limite: " + minhaconta.consultarlimite()); System.out.println("Saldo Total: " + minhaconta.consultarsaldototal()); minhaconta.depositar(300); System.out.println("Saldo após depósito: " + minhaconta.consultarsaldo()); System.out.println("Saldo total após depósito: " + minhaconta.consultarsaldototal()); Kecia Marques 97

98 Herança if (minhaconta.sacar(200)) { System.out.println("Saldo após saque: " + minhaconta.consultarsaldo()); System.out.println("Saldo total após saque: " + minhaconta.consultarsaldototal()); else System.out.println("Não foi possível realizar operação. Saldo total disponível é de " + minhaconta.consultarsaldototal()); Kecia Marques 98

99 Herança if (minhaconta.sacar(700)) { System.out.println("Saldo total após saque: " + minhaconta.consultarsaldototal()); else System.out.println("Não foi possível realizar operação. Saldo total disponível é de " + minhaconta.consultarsaldototal()); //Fim da classe MainBanco Kecia Marques 99

100 Herança Herança provê reuso de classes já construídas. Alguns benefícios do uso de herança: evitar duplicação de código; reúso de código; manutenção mais fácil (desde que não haja abuso do recurso); extensibilidade. Kecia Marques 100

101 Herança Exercício: Implemente a classe ContaPoupança. Altere a classe MainBanco para criar e realizar operações sobre a classe ContaPoupança que você criou. Pesquise: para que servem as seguintes palavras reservadas de Java: protected, public, private, static, final. Kecia Marques 101

102 Classes Abstratas Kecia Marques 102

103 Classes Abstratas A linguagem Java possui o recurso de criação de classes abstratas. Características de uma classe abstrata: é designada pela palavra chave abstract. abstract class FiguraGeometrica{... podem possuir métodos sem definição de corpo (método abstrato). public abstract void CalculaArea(); objetos de classes abstratas não podem ser criados. pode haver hierarquias de classes abstratas. Kecia Marques 103

104 Classes Abstratas Propósito de uso de classes abstratas: fornecer uma superclasse apropriada da qual outras classes possam herdar interface e/ou implementação. As classes herdeiras de uma classe abstrata são denominadas classes concretas. Kecia Marques 104

105 Interface Kecia Marques 105

106 Interface Interface de Java é um recurso que permite especificar os serviços de uma classe. Uma interface declara: interface Forma {... métodos públicos sem definição de corpo (métodos não podem ser estáticos); campos públicos, estáticos e finais. Objetos não podem ser criados diretamente a partir de uma interface. Kecia Marques 106

107 Exemplo Classes que implementam uma interface devem implementar todos os métodos daquela interface e todos eles devem ser públicos. class Circulo implements Forma {... Uma interface pode ser implementada por várias classes. Uma classe pode implementar várias interfaces. Interface é um caso especial de classe abstrata. Kecia Marques 107

108 Polimorfismo Kecia Marques 108

109 Polimorfismo Verificação de Tipos: atividade que garante que os operandos utilizados com um operador sejam de tipos compatíveis. Tipo Compatível: é um tipo cujos valores são adequados para a realização da operação designada pelo operador ou que pode ser convertido implicitamente em um tipo cujos valores sejam adequados. Varejão, Kecia Marques 109

110 Polimorfismo LP fracamente tipada: somente parte dos erros de tipos são verificados. Ex.: C. Em C, um ponteiro para float pode acessar um posição de memória ocupada por um char, por exemplo. LP fortemente tipada: realizam uma verificação extremamente ampla de tipos. Ex.: Java Kecia Marques 110

111 Polimorfismo Polimorfismo é a característica que possibilita a criação de código capaz de operar sobre valores distintos. Por exemplo, onde se espera um dado de um tipo de X, é possível receber um dado de um tipo Y. Polimorfismo = muitas formas Kecia Marques 111

112 Polimorfismo Coersão: é a conversão implícita de tipos. Quando um operação é realizada sobre um operando de tipo diferente do esperado, o compilador verifica se é possível realizar a conversão. Por exemplo, em C, um valor char pode ser convertido implicitamente para um valor int. int a; char c = k ; a = c; Kecia Marques 112

113 Polimorfismo Sobrecarga (ou Overloading): um identificador ou operador é sobrecarregado quando pode ser utilizado para designar duas ou mais operações distintas. Ex.: O operador + em Java. int a, b; a = 10; b = a + 20; System.out.println( Resutaldo = + b ); + é utilizado para realizar a operação de soma entre valores numéricos e para realizar concatenação de strings. Kecia Marques 113

114 Polimorfismo Inclusão: é o polimorfismo decorrente de herança. Um subtipo S de um tipo T é formado por um subconjunto dos valores de T. Assim, todo valor de S deve ser também um valor de T. Kecia Marques 114

115 Polimorfismo Ex.: Considere as classes A e B do exemplo de herança dado anteriormente. A classe a seguir exemplifica uma situação polimórfica. Kecia Marques 115

116 Polimorfismo Exemplo 1) public class TesteHeranca { public static void main (String[] args){ B obj1 = new B(10,20,30,40); A obj2 = new A (200, 300, 400); testepolimorfismo(obj2); testepolimorfismo(obj1); public static void testepolimorfismo(a obj){ obj.imprimevalores(); Kecia Marques 116

117 Polimorfismo O programa anterior imprime: O valor de X é: 200 O valor de Y é: 300 O valor de Z é: 400 O valor de X é: 10 O valor de Y é: 20 O valor de K é: 40 Z não pertence a esta classe O valor de Z da superclasse é: 30 Kecia Marques 117

118 Tratamento de Exceções Kecia Marques 118

119 Tratamento de Exceções Conceito Ausência de mecanismos para exceções em LP Mecanismos para exceções em LP Lançamento de Exceções Tratamento de Exceções Propagação de Exceções Relançamento de Exceções Continuação após o Tratamento de Exceções Kecia Marques 119

120 Conceito Robustez: é a capacidade de um software continuar em operação corretamente mesmo em condições anormais. Problemas: Como prevenir-se de erros em tempo de execução? Como contornar situações anormais? Exemplos de situações anormais: divisão por zero, fim de arquivo, overflow, utilização de um objeto não inicializado, acesso a um índice inválido de um vetor. Kecia Marques 120

O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java.

O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java. Exceções em Java Miguel Jonathan DCC/IM/UFRJ (rev. abril de 2011) Resumo dos conceitos e regras gerais do uso de exceções em Java O uso de exceções permite separar a detecção da ocorrência de uma situação

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br JAVA Fabrício de Sousa fabbricio7@yahoo.com.br Agenda 2 Características Ambientes de Desenvolvimento Sintaxe Comentários Tipos de dados primitivos Caracteres especiais Variáveis Operadores Aritméticos

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 02 APRESENTAÇÃO: Apresentação; conceitos básicos da linguagem java; estrutura

Leia mais

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e

Leia mais

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40 JAVA Marcio de Carvalho Victorino 1/40 Introdução 2/40 Page 1 Programação OO Elementos do modelo OO: Abstração: é o processo de abstrair as características essenciais de um objeto real. O conjunto de características

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ... Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Desenvolvimento OO com Java Orientação a objetos básica

Desenvolvimento OO com Java Orientação a objetos básica Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Escola Superior de Gestão e Tecnologia. Tratamento de Exceções

Escola Superior de Gestão e Tecnologia. Tratamento de Exceções Escola Superior de Gestão e Tecnologia Tratamento de Exceções Objetivos Compreender como o tratamento de exceção e de erro funciona. Como u4lizar try, throw e catch para detectar, indicar e tratar exceções,

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Erros, exceçõ. ções e asserçõ

Erros, exceçõ. ções e asserçõ Java 2 Standard Edition Erros, exceçõ ções e asserçõ ções Helder da Rocha www.argonavis.com.br 1 Controle de erros com Exceções Exceções são Erros de tempo de execução Objetos criados a partir de classes

Leia mais

Capítulo 3. Programação por objectos em Java

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade

Leia mais

Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:

Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto: Tratamento de Exceções Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Exceções Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

AULA DE JAVA 1 - CONCEITOS BÁSICOS

AULA DE JAVA 1 - CONCEITOS BÁSICOS AULA DE JAVA 1 - CONCEITOS BÁSICOS DAS 5316 Integração de Sistemas Corporativos Roque Oliveira Bezerra, M. Eng roque@das.ufsc.br Prof. Ricardo J. Rabelo ROTEIRO Introdução Fases de um programa Java Strings

Leia mais

Programação Orientada a Objetos em Java. Herança

Programação Orientada a Objetos em Java. Herança Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java A linguagem Java surgiu em 1991 quando cientistas da Sun, liderados por Patrick Naughton e James Gosling, projetaram uma linguagem pequena para ser utilizada em eletrodomésticos

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

Revisão OO Básico. Orientação a Objetos em Java

Revisão OO Básico. Orientação a Objetos em Java Revisão OO Básico Orientação a Objetos em Java Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Nomenclatura A unidade básica de programação em linguagens orientadas a objetos é a

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java Exceções e Finalizações

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java Exceções e Finalizações Prof. Marcelo Heitor Teixeira marceloheitor.com Java Exceções e Finalizações # Exceções em Java # Hierarquia de Classes # Lançando, Declarando e Capturando # Classes de Exceções Personalizadas # Entendendo

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Relevância e Motivação. Programação Orientada a Objetos Utilizando Java. Qualidade do Software. Objetivos. Cancelamentos.

Relevância e Motivação. Programação Orientada a Objetos Utilizando Java. Qualidade do Software. Objetivos. Cancelamentos. Programação Orientada a Objetos Utilizando Java Pedro de Alcântara dos Santos Neto e-mail: pasn@ufpi.edu.br Home Page: http:// www.ufpi.br/pasn Relevância e Motivação Técnicas a serem utilizadas na prática

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos Departamento de Informática Prof. Anselmo C. de Paiva Classes O conjunto de requisições que um objeto pode cumprir é determinado

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

Programação Java. com Ênfase em Orientação a Objetos. Douglas Rocha Mendes. Novatec

Programação Java. com Ênfase em Orientação a Objetos. Douglas Rocha Mendes. Novatec Programação Java com Ênfase em Orientação a Objetos Douglas Rocha Mendes Novatec Sumário Agradecimentos... 13 Sobre o autor... 14 Prefácio... 15 Capítulo 1 Introdução à linguagem Java... 16 1.1 Histórico

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Tratamento de Exceções Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 o Exceção: condição anormal Introdução o Causas: Falhas na implementação Falhas na operação o

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

AULA 02. 1. Uma linguagem de programação orientada a objetos

AULA 02. 1. Uma linguagem de programação orientada a objetos AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações

Leia mais

Programação Orientada a Objetos! Java - Fundamentos. Prof. Sérgio Almagro! e-mail: sergio.ricardo.almagro@gmail.com

Programação Orientada a Objetos! Java - Fundamentos. Prof. Sérgio Almagro! e-mail: sergio.ricardo.almagro@gmail.com Programação Orientada a Objetos! Java - Fundamentos Prof. Sérgio Almagro! e-mail: sergio.ricardo.almagro@gmail.com Estrutura de Programação Bibliografia HORSTMANN, Cay S., CORNELL, Gray. Core Java 2 Volume

Leia mais

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

Leia mais

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes E-mail: rxbrito@gmail.

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes E-mail: rxbrito@gmail. Um pouco da história Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes E-mail: rxbrito@gmail.com Introdução a Linguagem Java Java

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 03 APRESENTAÇÃO: Hoje vamos conhecer o comando switch, o bloco try catch;

Leia mais

DEFINIÇÃO DE MÉTODOS

DEFINIÇÃO DE MÉTODOS Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais

P n o t n ifíci c a a Un U i n ve v r e si s da d d a e d e C a C t a ól ó ica c a d o d o R i R o o d e d e J a J n a e n i e ro o PU P C U -Ri R o

P n o t n ifíci c a a Un U i n ve v r e si s da d d a e d e C a C t a ól ó ica c a d o d o R i R o o d e d e J a J n a e n i e ro o PU P C U -Ri R o Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática Costa clayton.maciel@ifrn.edu.br

Leia mais

Programação Orientada a Objetos com Java. Prof. Júlio Machado julio.machado@pucrs.br

Programação Orientada a Objetos com Java. Prof. Júlio Machado julio.machado@pucrs.br Programação Orientada a Objetos com Java Prof. Júlio Machado julio.machado@pucrs.br TRATAMENTO DE EXCEÇÕES Tratamento de Exceções O tratamento de exceções de Java envolve vários conceitos importantes:

Leia mais

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas

Introdução. Programação. Orientada a Objetos: Reuso. Introdução. Classes Abstratas Introdução Programação Orientada a Objetos: Reuso Alexandre César Muniz de Oliveira Hierarquia de classes está associada a forma como se distribui conceitos (comportamentos) entre as unidades que compõem

Leia mais

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem Java Prof. Leonardo Barreto Campos 1 Sumário Introdução; Histórico do Java; Características do Java; Compilação de um Programa em Java; Modificando o Primeiro Programa em

Leia mais

LINGUAGEM DE PROGRAMAÇÃO JAVA

LINGUAGEM DE PROGRAMAÇÃO JAVA LINGUAGEM DE PROGRAMAÇÃO JAVA Curso de Especialização em Tecnologia Java UTFPR Capítulo 1 Parte 1 Introdução à tecnologia Java Ambiente de desenvolvimento Java Introdução à Tecnologia Java O que é Java?

Leia mais

Curso Java Starter. www.t2ti.com 1

Curso Java Starter. www.t2ti.com 1 1 2 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação

Leia mais

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Capítulo 5 Reuso de Classes

Capítulo 5 Reuso de Classes Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Desenvolvimento Orientado a Objetos com Java Capítulo 5 Reuso de Classes

Leia mais

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS

Modificador static e Pacotes. Alberto Costa Neto DComp - UFS Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens:

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens: 1ª QUESTÃO Linguagem C Vantagens: É uma linguagem simples que nos permite trabalhar com funções matemáticas, ficheiros, entre outras sendo necessário para tal a inclusão de bibliotecas padrão as quais

Leia mais

Apostila de. Programação Orientada a Objeto (POO)

Apostila de. Programação Orientada a Objeto (POO) Apostila de Programação Orientada a Objeto (POO) Prof. Francesco Artur Perrotti Revisão: Janeiro de 2014 Programação Orientada a Objeto (POO) Prof. Francesco Artur Perrotti 1) Classes e Objetos Classe

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Introdução ao Java: Definições Linguagem desenvolvida pela SUN para manter o poder computacional do C++ e promover

Leia mais

BC0501 Linguagens de Programação

BC0501 Linguagens de Programação BC0501 Linguagens de Programação Aula Prática: 03 Assunto: Comandos de Seleção 1. Introdução Um comando de seleção define uma condição em um programa, que permite que grupos de comandos sejam executados

Leia mais

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação?

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação? Algoritmos e Programação 2 Baseado no material do Prof. Júlio Pereira Machado Introdução à Programação Orientada a Objetos O que é um paradigma de programação? É um padrão conceitual que orienta soluções

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

LINGUAGEM ORIENTADA A OBJETOS

LINGUAGEM ORIENTADA A OBJETOS LINGUAGEM ORIENTADA A OBJETOS TI MÓDULO II O ECLIPSE O eclipse é uma IDE Open Source (código fonte aberto) que serve para o desenvolvimento em muitas linguagens: PHP Java Python HTML C/C++ A IDE Eclipse

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

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

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora 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

Leia mais

Programação com Objectos. Processamento de Dados I. 5. Excepções

Programação com Objectos. Processamento de Dados I. 5. Excepções Programação com Objectos Processamento de Dados I 5. Excepções 1 O que é uma excepção? Tratamento de excepções: Try e Catch Lançamento de excepções: Throw e Throws Classes de excepção Programação com Objectos

Leia mais