Programação Orientada a Objetos JAVA - NETBEANS

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

Download "Programação Orientada a Objetos JAVA - NETBEANS"

Transcrição

1 Programação Orientada a Objetos JAVA - NETBEANS

2 Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Encapsulamento

3 Programação Orientada a Objetos (POO) A Programação Orientada a Objetos (POO) é um paradigma de programação de computadores que usa os conceitos de Objetos e Classes como elementos centrais para representar e processar dados usados nos programas. Você sabe o que um Paradigma? Segundo o dicionário Houaiss, paradigma significa modelo, padrão, exemplo.

4 Programação Orientada a Objetos (POO) Os conceitos da programação orientada a objetos (POO) surgiram no final da década de 1960, com a linguagem Simula-68. Posteriormente amadurecidos e aprimorados durante a década de 1970 pela linguagem de programação Smalltalk. A popularização da POO só se deu ao longo da década de 80 e 90, com as linguagens C++ e Java.

5 Programação Orientada a Objetos (POO) Um dos principais pesquisadores que introduziu os conceitos de POO, foi o cientista Alan Kay da Xerox, um dos criadores da linguagem Smalltalk. Durante suas pesquisas, Alan desenvolveu a ideia de que poderíamos construir um programa usando conceitos e abstrações do mundo real, como objetos, troca de mensagens.

6 Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Encapsulamento

7 Conceitos da Programação Orientada a Objetos A Programação Orientada a Objetos está sedimentada sobre quatro pilares derivados do princípio da abstração, são eles: Encapsulamento, Herança, Composição e Polimorfismo.

8 Conceitos da Programação Orientada a Objetos O princípio da abstração é a capacidade de abstrair a complexidade de um sistema e se concentrar em apenas partes desse sistema. Exemplo: um médico torna-se um especialista em algum órgão do corpo (exemplo, o coração). Ele abstrai sem desconsiderar as influências dos outros órgãos e foca apenas sua atenção nesse órgão.

9 Objetos Na programação OO, objetos são usados para representar entidades do mundo real ou computacional. Se observarmos ao nosso redor, veremos várias entidades ou abstrações as quais podem ser representadas como objetos no nosso programa. As pessoas e seus carros podem ser vistas como objetos.

10 Objetos Os objetos possuem: Características pelas quais os identificamos e Finalidades para as quais os utilizamos.

11 Objetos: Atributos Características são tipicamente chamadas de atributos. O objeto Pessoa possui RG, nome, data de nascimento, etc. O objeto Carro possui tipo, cor, quantidade de portas.

12 Objetos: Métodos Objetos podem também ter comportamentos associados. Um objeto do tipo Pessoa pode andar, correr ou dirigir carros. Um objeto do tipo Carro pode ligar, desligar, acelerar, frear.

13 Objetos Na POO os objetos possuem características e comportamentos. As características também podem ser chamadas de dados ou atributos. Enquanto os comportamentos também podem ser chamados de operações ou métodos.

14 Objetos

15 Classes Carros sempre possuirão os atributos tipo, cor e número de portas. Pessoas sempre possuirão nome, data de nascimento e, possivelmente, um RG.

16 Classes A modelagem e programação de um conjunto de objetos que possuem características (atributos) e comportamentos (métodos) comuns é feita na POO usando o conceito de Classe. Cada classe funciona no fundo como um molde para a criação de um dado objeto. Os objetos são vistos como representações concretas (instâncias) das classes.

17 Classes A classe define que objetos devem ter tipo, cor, placa e número de portas, mas não indica explicitamente quais são seus valores.

18 Classes Dois diferentes carros foram criados tomando como base a estrutura da classe.

19 Criação de Classes A classe não serve para organizar no sentido de guardar os objetos, ela serve de modelo de construção. A classe é o modelo ou molde de construção de objetos. O modelo define as características e comportamentos que os objetos irão possuir. A classe é abstrata (não existe concretamente).

20 Criação de Classes Vamos criar a classe Carro em Java. 1. Crie um nome Projeto chamado de POO. 2. Adicione uma nova classe java denominada Carro, clicando com o botão direito do mouse em cima do pacote poo. Palavra obrigatória para indicar a criação de uma classe. Nome da classe escolhido pelo programador. Por padrão, utiliza-se sempre a primeira letra maiúscula. Conjunto de características dos objetos da Classe Carro.

21 Criação de Classes Perceba que não inserimos no código nada sobre o comportamento dos carros, como andar para frente ou para trás, virar a esquerda/direita, frear etc. Vamos criar a classe Pessoa em Java. 1. Adicione uma nova classe java denominada Pessoa, clicando com o botão direito do mouse em cima do pacote poo.

22 Adicionando Comportamento Os objetos das classes Carro e Pessoa, precisam não só de suas características, mas também de ações possíveis de serem executadas. Um carro precisa oferecer funções para que as pessoas os manobrem. E pessoas, por sua vez, precisam desempenhar suas atividades, como andar, correr, estudar etc.

23 Adicionando Comportamento Observe que adicionamos novas linhas ao código, agora com dois métodos setcor(string cor) e getcor(). Esses métodos servem, respectivamente, para alterar o valor do atributo cor e retornar o valor desse atributo.

24 Adicionando Comportamento

25 Adicionando Comportamento

26 Atividade Faça o mesmo para a classe Pessoa.

27 Criando um Objeto Vá para o programa principal, onde existe o método main.

28 Criando um Objeto Vamos criar um objeto da classe Carro, no mundo da programação orientada a objetos chamamos isso de instanciação, ou seja, criaremos uma instância da classe Carro. Um objeto ou instância é criado através do operador new.

29 Criando um Objeto Toda a manipulação e consulta dos atributos do objeto serão feitas através de sua referência, ou seja, da variável. Define-se os atributos do carro utilizando os métodos da classe Carro. Utiliza-se o conjunto de métodos setatributo(valor).

30 Criando um Objeto Exibindo cada atributo com seu respectivo método getatributo().

31 Criando um Objeto - MAIN

32 Atividades 1. Instancie um objeto da classe Pessoa. 2. Atribuia aos métodos set s seus valores. 3. Imprima os valores através dos métodos get s.

33 Métodos Construtores E se eu quiser, no momento da criação do objeto, passar valores para alguns de seus atributos, como placa e cor, por exemplo? É possível? É sim!! Para isso, define-se um tipo especial de método chamado construtor. E como seu próprio nome diz, ele constrói e objeto e nesse instante pode definir quaisquer atributos que desejarmos.

34 Métodos Construtores O método construtor é aquele chamado em um objeto, quando ele é criado. new Carro(); Se a classe não tiver método construtor? O objeto ainda pode ser criado usando a instrução new. Definindo os construtores, pode-se estabelecer valores iniciais para os atributos do objeto.

35 Métodos Construtores Após os atributos da classe Carro, adicione o construtor abaixo. Observe que esse método possui o mesmo nome da Classe Carro e não possui tipo de retorno.

36 Métodos Construtores Existem duas maneiras de se construir um objeto derivado da classe Carro, ou do tipo Carro: Com ou Sem inicialização dos valores dos atributos.

37 Métodos Construtores Observe na classe Main.java as duas formas de construir objetos: As formas de acessos são as mesmas usando os métodos get s. Os métodos set s também funcionam para alterar os atributos em qualquer um dos casos.

38 Atividades Crie os construtores da classe Pessoa. Instancie dois objetos, cada um com um construtor diferente. Acesse os dois objetos, imprimindo seus valores.

39 Troca de Mensagens Os objetos estão relacionados a outros, pois nenhum faz tudo sozinho, nem mesmo meu computador de última geração, pois sem a tomada na parede ele não é nada. Os objetos precisam se comunicar, ou seja, um objeto aciona um método de outro. Essa comunicação é realizada através do mecanismo de troca de mensagem.

40 Troca de Mensagens Vejamos outro exemplo: Esse código escrito dentro da classe Main envia uma mensagem para definir um atributo e outra para recuperar a placa do carro. Em Java, a troca de mensagem representa: A mudança ou leitura do estado interno do objeto através da alteração de um de seus atributos; ou A chamada a um dos métodos do objeto que representam seu comportamento e as tarefas que são capazes de desempenhar.

41 Troca de Mensagens Bem, quando relacionamos coisas no mundo real fazemos isso de forma natural e espontânea. Vejamos, quantas pessoas cabem em um automóvel? Na maioria deles, a lotação é de no máximo 5 pessoas, incluindo seu condutor. Mas uma pessoa pode estar em quantos automóveis ao mesmo tempo? Até onde as leis da física permitem, só em um, de cada vez! Chamamos esse relacionamento de um-para-muitos, um (automóvel) para muitos (pessoas). Em outras situações, vemos que um marido é para uma, e somente uma, esposa, e a recíproca é verdadeira, temos então um relacionamento umpara-um. A outra combinação possível seria muitos-para-muitos, no exemplo computador e impressora, o computador pode imprimir em várias impressoras e cada uma dessas podem receber documentos dos outros computadores do escritório.

42 Troca de Mensagens Vamos ligar a classe Carro à classe Pessoa, fazendo com que uma pessoa possua um carro e esse carro só possa pertencer a uma única pessoa. É o que chamados de relação um-para-um. A classe Carro precisa saber que pertence a alguém. Iremos adicionar um atributo chamado dono, que é do tipo Pessoa.

43 Troca de Mensagens E os respectivos métodos get e set:

44 Troca de Mensagens Vamos utilizar esse relacionamento no exemplo seguinte:

45 Trabalho Faça um sistema de Biblioteca Livros Atributos: Título, Autores, Área, Editora, Ano, Edição, Número de Folhas. Métodos: set s e get s Usuários: Atributos: Nome, Idade, Sexo,Telefone. Métodos: set s e get s Empréstimos: Atributos: Data do Empréstimo, Hora do Empréstimo, Livro(Relacionamento) e Usuário (relacionamento) Insira os objetos do programa principal e imprima o empréstimo. Não se esquece do construtor.

46 Troca de Mensagens Os sistemas OO precisam de métodos mais complexos, que verifiquem a validade dos dados, realizem atualizações em outras entidades, pesquisem em banco de dados, escrevam em arquivos de log, atualizem objetos da interface etc. 1. Colocando um pouco de complexidade do mundo real no programa?! 1. Adicionar os métodos ligar(), desligar(), acelerar(), frear() à classe Carro.

47 Troca de Mensagens

48 Troca de Mensagens 2. Adicione à classe Carro, ainda, um atributo câmbio que indicará qual a marcha que o carro está em um dado momento, para tanto, tal atributo irá guardar um valor inteiro de 0 (zero) a 5 (cinco). 0 neutro (ponto morto) 1 a 5 marchas

49 Troca de Mensagens 3. Colocar uma referência do automóvel dentro da classe Pessoa.

50 Troca de Mensagens 4. Adicione outros métodos à classe Pessoa para interagir (trocar mensagens) com seu carro.

51 Troca de Mensagens 5) Vamos ao Main! Nosso programa precisa:

52 Troca de Mensagens

53 Troca de Mensagens O que podemos ver é que o método Main envia uma mensagem para o objeto Pessoa, que, por sua vez, manda ou repassa essa mensagem para seu objeto da classe Carro, que executa a ação final desejada, que consiste em guiá-lo.

54 Continuação do Trabalho Adicione na classe Livro: Um atributo booleano denominado emprestimo. Crie os métodos is e set para este atributo. No construtor da classe, atribua o valor false para o atributo acima. Crie os métodos abrir e fechar livro, escrevendo uma mensagem que o livro está aberto ou fechado para leitura. Adicione na classe Usuário: Um método lerlivro(), do qual enviará uma mensagem na tela dizendo o usuário está lendo o livro. Adicione na classe Emprestimo: Um método denominado devolverlivro, do qual fará com que o atributo emprestimo da classe livro seja true, e escreva uma mensagem na tela de livro devolvido. Adicione na classe principal: Acesse os métodos criados acima (abrir, ler, fechar e devolverlivro) através da classe Empréstimo.

55 Continuação do Trabalho Saída

56 Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

57 Encapsulamento Encapsulamento se deriva de cápsula que nos lembra qualquer forma pequena que protege algo em seu interior, como um medicamento,. O encapsulamento, ajuda a desenvolver programas com maior qualidade e flexibilidade para mudanças futuras.

58 Encapsulamento Encapsulamento é a característica da OO capaz de ocultar partes (dados e detalhes) de implementação interna de classes do mundo exterior.

59 Encapsulamento Graças ao encapsulamento, podemos ver as classes apenas pelos serviços (métodos) que elas devem oferecer para quem as utiliza. Não visualizamos, nesse caso, de que forma (como) o serviço (método) está implementado internamente na classe. No fundo, o encapsulamento da classe acaba definindo um contrato que determina o que o mundo exterior pode fazer com objetos daquela classe.

60 Encapsulamento Na Figura, podemos ver que um objeto que possui a característica de encapsulamento fica protegido por uma cápsula. Essa cápsula, que chamamos de interface, serve para ocultar e proteger de outros objetos, os detalhes de implementação daquele objeto. Dessa maneira, o objeto só disponibiliza, através da interface, as funcionalidades que ele deseja receber através de solicitações de outros objetos.

61 Encapsulamento Exemplo: Objeto Automóvel disponibiliza para um objeto Pessoa a direção como parte da sua interface. Através da direção, a Pessoa solicita ao Automóvel esse serviço, sem saber COMO serão feitos ou estão implementados. Apenas o Automóvel sabe que mecanismos serão acionados para atender a solicitação da Pessoa.

62 Encapsulamento Nesse caso, aplica-se a característica de encapsulamento ao objeto Automóvel, pois oculta-se do objeto Pessoa os detalhes da implementação dos serviços oferecidos pelo Automóvel. Como isso acontece na prática? Por meio dos Modificadores de Acesso da linguagem Java.

63 Encapsulamento Modificadores de Acesso: Os Modificadores de Acesso são palavras chave ou reservadas da linguagem Java cuja utilidade é permitir ou proibir o acesso aos atributos e/ou métodos das classes. public: o atributo ou método pode ser acessado por qualquer outra classe. private: o atributo ou método pode ser acessado apenas por métodos da mesma classe. protected : funciona como o private exceto que as classes filhas ou derivadas também terão acesso ao atributo ou método. Package ou Friendly: Os atributos e métodos são chamados de Package ou Friendly, quando não possuem modificadores, ou seja, são os atributos e métodos declarados sem modificadores. Isso significa que podem ser acessados por todas as classes pertencentes a um mesmo pacote.

64 Encapsulamento Exemplo: Agenda: guardar uma data e uma anotação importante a ser lembrada. 1. Crie um novo projeto denominado Agenda. 1. Não crie a classe principal 2. Clique com o botão direito do mouse em cima do Pacote Padrão e adicione um nova classe Java denominada Agenda. 3. Adicione o código:

65 Encapsulamento Crie um método anote que anotará a descrição do dia.

66 Encapsulamento É importante também verificar se a data da anotação é uma data válida. Se for uma data válida registra-se a anotação, caso contrário a anotação recebe uma informação de data inválida

67

68 Encapsulamento Onde está o encapsulamento? Calma! O objetivo desse exemplo é mostrar a fragilidade do código que não usa o encapsulamento.

69 Encapsulamento Para isso, criaremos dois objetos com a classe Agenda: agenda1 e agenda2. agenda1 uma anotação com uma data válida, e agenda2 uma data inválida. Finalmente, consultaremos os dados dos atributos de cada objeto, em especial a anotação que foi registrada, utilizando o método mostraanotacao().

70 Encapsulamento 1. Clique com o botão direito do mouse em cima do Pacote Padrão e adicione um nova classe Java denominada Main. 2. Adicione o método main para que possamos executar a aplicação:

71 Encapsulamento Adicione o código abaixo para testarmos a fragilidade do código que não usa o encapsulamento. Resultado:

72 Encapsulamento Veja o que acontece se fizéssemos uma pequena modificação no método main(). Adicione o código: Resultado:

73 Encapsulamento Veja que sua Agenda permitiu que você inserisse uma data inválida para uma anotação. Isso significa que seu código está susceptível a falhas. Qual é a solução? Encapsulamento.

74 Encapsulamento Codificar em OO usando o encapsulamento nada mais é que aplicar os modificadores de acesso às classes.

75 Encapsulamento Sem Modificadores de Acesso

76 Encapsulamento A classe Agenda não usa nenhum dos modificadores de acesso de forma explícita. Implicitamente ela é Package ou Friendly. O modificador de acesso Package permite que classes do mesmo pacote acessem atributos ou métodos que estejam com tal modificador. Considerando que a classe Principal está no mesmo pacote (veja sobre pacotes na classificação de Package), então, ele tem acesso aos atributos e métodos da classe Agenda.

77 Encapsulamento Quando a classe Principal teve acesso aos atributos da classe Agenda? O método main da classe principal está acessando os atributos, dia, mes, ano e anotacao da classe Agenda. E está modificando informações sem passar pelo teste de validade da data.

78 Encapsulamento Aplicando o encapsulamento: Private para os atributos e o método validadata(), Public para os métodos anote() e mostraanotacao().

79

80 Encapsulamento Agora, o compilador já não aceita usar os comandos abaixo. Isso causaria erro! Ou seja, os atributos da classe Agenda agora são privados apenas para a uso da própria classe Agenda.

81 Encapsulamento Com essa modificação, só é possível inserir uma anotação na classe Agenda usando o método anote(). O método anote() garante que a data inserida para a anotação será validada com o método validadata(), que também é privado ao uso apenas da classe Agenda.

82 Atividades 1. Aborde encapsulamento na classe Carro e Pessoa. Tente acessar os atributos na classe principal. 2. Aborde encapsulamento na classe Emprestimo, Livro e Usuário. 3. Sem consultar o material responda: O que você entende por encapsulamento? Para que serve? E como aplicar? 4. Antes de rever os conceitos, para que servem os modificadores de acesso: public private package 1. Desenvolva um programa: 1. Cria uma classe candidato com nome e a quantidade de votos. 2. Implemente o método para acrescentar voto, onde somará 1 ao atributo quantidade de votos. 3. Implemente o métodos gets e sets. 4. Inclua o encapsulamento de tal forma que a votação só será realizada por meio do método acrescentar voto. 5. Teste o programa, usando o programa principal.

83 Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento Composição

84 Composição ou Agregação Compor, juntar, reunir, formar, constituir... Essas ações é chamada Composição. Possibilita a reutilização de código e Um objeto mais complexo pode ser composto de partes mais simples.

85 Composição ou Agregação Composição ou Agregação é um mecanismo de reaproveitamento (reutilização) de classes utilizado pela POO para aumentar a produtividade e a qualidade no desenvolvimento de software.

86 Composição ou Agregação Reaproveitamento ou reutilização de classes: usar uma ou várias classes para compor outra classe. Aumento de produtividade: não é necessário reescrever código de determinadas classes, se já existe algum classe com atributos e comportamento similar. Composição: é possível também aumentar a qualidade dos sistemas gerados, porque há a possibilidade de reutilizar classes que já foram usadas em outros sistemas, e, portanto, já foram testadas e têm chances de conter menos erros.

87 Composição ou Agregação Vejamos um exemplo: um carro é um objeto COMPOSTO por vários outros objetos. Ele é composto pelos objetos motor, pneus, direção, faróis etc.

88 Composição ou Agregação Você pode criar um objeto a partir de vários outros objetos. Veja o computador que você está usando, ele é um objeto composto por outros objetos: teclado, monitor, placa mãe, memória, mouse etc.

89 Composição ou Agregação Exemplo Prático: Dado uma classe Automóvel que é composta pelas classes Direção e Motor.

90 Composição ou Agregação 1. Crie um novo projeto denominado Composicao 2. Crie as classes, com os respectivos atributos e métodos: 1. Direcao: 1. Atributos: cor, tamanhoraio e kitmultimida do tipo booleano; 2. Métodos: get s, set s e is; 3. Construtores; 4. Implemente o encapsulamento. 2. Motor: 1. Atributos: potencia, combustivel e chassi; 2. Métodos: get s, set s; 3. Construtores; 4. Implemente o encapsulamento. 3. Automovel 1. Atributos: motor e direcao de acordo com seus respectivos tipo; 2. Métodos: get s, set s; 3. Construtores; 4. Implemente o encapsulamento. 4. Main 5. Objetos: Automovel 6. Setar os valores dos atributos 7. Imprimir os valores dos atributos

91 Observação Construtor Atribuir valores constantes aos atributos nos construtores das classes Motor e Direcao. Imprimir os valores do atributos após a instaciação do objeto automovel no método main. Modificadores de Acesso Alterar o modificar de acesso dos atributos das classes Automovel, acessá-los no método main.

92 Atividades 1. Sem consultar o material, responda: 1. O que você entendeu por Composição? 2. Quais são as vantagens de se usar a Composição? 3. Como você omitiria a presença da composição para quem irá criar os objetos das classes que usa a composição? 4. Crie as classes apresentadas no diagrama abaixo e aplique a Composição para a classe Pessoa, que além de possuir um atributo Nome será composta pelas classes Data, Endereço e Contato para os atributos datanasc, endereco e contato, respectivamente.

93 Atividades

94 Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento Composição Herança

95 Herança

96 Herança Herança é o mecanismo que permite a uma classe herdar todos os atributos e métodos de outra classe.

97 Herança Como exemplo, observe a Figura a seguir.

98 Herança Considere capacidade como um atributo da classe Transporte, que indica a quantidade de pessoas que o transporte em questão pode transportar. número de rodas como um atributo da classe Terrestre. cor, número de portas e placa como atributos da classe Automóvel. A Figura apresenta um exemplo de Herança, onde: As classes Aquático, Terrestre e Aéreo herdam da classe Transporte. A classe Barco herda da classe Aquático. A classe Automóvel herda de Terrestre. E, finalmente, Avião de Aéreo.

99 Herança Toda classe que herda de uma outra, acaba herdando também os seus atributos e métodos. Por exemplo: A classe Transporte possui um atributo chamado capacidade. A classe Aquático, como ela herda de Transporte, pode-se dizer que também possui o atributo capacidade. E Barco, como herda de Aquático, também possui o atributo capacidade.

100 Herança Usando a mesma lógica, responda: Quantos e quais são os atributos da classe Terrestre? E da classe Automóvel? Respondendo: a classe Terrestre possui dois atributos: capacidade (de Transporte) e número de rodas. A classe Automóvel possui cinco atributos: capacidade (de Transporte), número de rodas (de Terrestre), cor, número de portas e placa.

101 Herança Quanto mais alta classe na hierarquia, mais ela tende a ser abstrata, ou menos definida, menos atributos e métodos. Isso garante que a classe tenha mais chance de ser reusada por outras classes. Entendeu? Não. Suponha que a classe Transporte, além do atributo capacidade, possuísse também o atributo número de rodas. Nesse caso, não seria interessante nem faria sentido para a classe Aquático herdar os atributos de Transporte.

102 Especialização e Generalização Especialização e Generalização: O mesmo que mais classes mais Abstratas e Concretas. Na Generalização, há classes mais genéricas e abstratas disponíveis, as quais podem ser usadas para outras descenderem delas. Já a Especialização, há classes que estão numa posição inferior na hierarquia possuem estado e comportamento mais especializados.

103 Especialização e Generalização Classes em posição inferior como Automóvel, representam especializações de classes em posição superior (Transporte,Terrestre). Classes em posição superior como Transporte, representam generalizações de classes em posições inferiores (Automóvel,Terrestre).

104 Herança Múltipla e Simples Herança Múltipla: é a capacidade de uma classe possuir mais de uma superclasse e herdar os atributos e métodos de todas as superclasses. Para simular a herança múltipla em Java, usa-se Interfaces. Herança Simples: Cada classe pode ter apenas uma superclasse. Na linguagem Java usa-se a palavra reservada extends para declarar que uma classe é herdeira de outra.

105 Herança Curiosidades: Todas as classes em Java descende de uma classe, chamada Object. Quando uma classe usa a relação de Herança, essa classe possui um relacionamento chamado É um. Exemplo: Automóvel é um transporte Terrestre, assim como que Terrestre é um Transporte.

106 Herança em Java Em Java a palavra-chave extends é usada para indicar que uma dada classe herda de outra. Crie um projeto Java denominado Herança. Crie as classes abaixo.

107 Herança em Java

108 Herança em Java

109 Herança em Java

110 Herança em Java

111 Atividade Crie uma classe chamada ExercicioHeranca. Implemente as classes com os métodos Animal CalculadoraSimples (somar, subtrair) float somar(float a, float b); float subtrair(float a, float b); CalculadoraComplexa (raiz) float raiz(float a);

112 Atividade 1. Das opções abaixo, qual se refere ao conceito de Herança? a) Herança é a capacidade de reaproveitar outras classes para compor uma nova classe. b) Herança é a característica da OO de ocultar partes da implementação interna de classes do mundo exterior. c) Herança é a habilidade de objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras. d) Herança é o mecanismo que permite a uma classe herdar todos os atributos e métodos de outra classe.

113 Herança II Objetivos Ao final desta aula, você deve ser capaz de: relacionar a herança e o modificador de acesso protected; entender o uso da palavra-chave super no contexto de herança entre classes; saber como funciona a herança para os métodos, durante a execução do programa.

114 Herança II A Herança e o Protected Tipos de modificadores de acesso: public, private e protected. Esse último, ficou para explicar melhor. O modificador protected determina que apenas as classes filhas de uma determinada classe poderão ter acesso aos atributos e métodos declarados com esse modificador.

115 Herança II Veja o exemplo abaixo: Substituição do private pelo pretected

116 Herança II Adicione um método na classe Automóvel. Esse método faz acesso aos atributos protected capacidade e numrodas, definidos nas classes Transporte e Terrestre, respectivamente. Observe que tais atributos são acessados e usados livremente no método imprimedadosautomovel().

117 Herança II

118 Herança II O programa abaixo mostra uma tentativa frustrada de acesso aos atributos capacidade e numrodas herdados pela classe Automóvel, dentro de um método main().

119 Herança II Calma! Se não deu erro, tente colocar em pacotes diferentes. Veja os próximos slides.

120 Herança II O seu não deu erro? Coloque em pacotes diferentes.

121 Herança II A Herança e o super A palavra super refere-se à classe classe mãe ou super-classe. Ela é usada nos construtores.

122 Herança II

123 Herança II

124 Herança II O super é usado para chamar o método construtor da classe mãe. Na classe Transporte, como a classe mãe de Transporte é Object, o super não tem parâmetro. Já no construtor da classe Terrestre, o super tem como parâmetro a capacidade exigida no construtor da classe Transporte. Portanto, a chamada a super na classe Terrestre é no fundo a chamada ao construtor de Transporte. Já o construtor da classe Automóvel, o super tem como parâmetros a capacidade e o numrodas exigidos pelo construtor da classe Terrestre.

125 Herança II No programa principal você pode chamar pelo método construtor das duas formas. 1. Como feito anteriormente 2. Com os valores sendo iniciados ao intanciar o objeto Automovel.

126 Herança II Um pergunta: será que a Herança também permite o uso de outros métodos diferentes dos get e set para as classes descendentes? A resposta é sim, como vimos anteriormente no método imprimedadosautomovel(). Se um método estiver com modificador private, esse método não estará acessível para classes filhas. Se um método for public ou protected, estarão acessíveis para classes filhas.

127 Atividades 1. Crie um pacote denominado Heranca2. 2. Acrescente as classes utilizando o princípio da Herança, obedecendo à hierarquia da figura abaixo:. 1. Obs: Substitua na figura o tipo Calendar por String 3. Acrescente encapsulamento do tipo protected nos atributos das classes mãe. 4. Acrescente os métodos gets e sets. 5. Acrescente os construtores com a palavra chave super.

128 Atividades

129 Atividades a) Insira os seguintes métodos, para apresentar os valores dos atributos das classes, mostrarchefe() e mostraraluno(), respectivamente, às classes ChefeDepartamento e Aluno. a) Para imprimir os atributos, use o método System.out.println() em cada um dos métodos. b) Crie uma classe TestaTudo com um método main(), que instancia um objeto das classes ChefeDepartamento e Aluno e exibe os valores dos atributos através de chamadas aos métodos mostrarchefe() e mostraraluno().

130 Polimorfismo O poliformismo deriva da palavra polimorfo, que significa multiforme, ou que pode variar a forma. Para a POO, polimorfismo é a habilidade de objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras. Ou seja, várias formas de responder à mesma mensagem.

131 Polimorfismo

132 Polimorfismo Vejamos o seguinte exemplo: um dono de uma fábrica de brinquedos solicitou que seus engenheiros criassem um mesmo controle remoto para todos os brinquedos de sua fábrica. A única restrição era que cada brinquedo atendesse aos comandos específicos definidos pelo controle.

133 Polimorfismo

134 Polimorfismo Assim quando o brinquedo recebe o sinal MOVER, ele se move de acordo com a sua função. Para o avião, mover significa VOAR; Para o barco significa NAVEGAR, e Para o automóvel CORRER. Observe que os brinquedos respondem ao mesmo sinal de formas diferentes.

135 Polimorfismo O Polimorfismo permite que diferentes objetos (avião, barco, automóvel) respondam uma mesma mensagem (mover) de formas diferentes (voar, navegar e correr).

136 Polimorfismo Tipos de polimorfismo O Polimorfismo pode ser classificado de três maneiras: Polimorfismo de Sobrecarga Polimorfismo de Sobreposição Polimorfismo de Inclusão

137 Polimorfismo Polimorfismo de Sobrecarga Permite que um método de determinado nome tenha comportamentos distintos, em função de diferentes parâmetros que ele recebe. Cada método difere no número e no tipo de parâmetros.

138 Polimorfismo Veja no exemplo uma aplicação prática do uso do polimorfismo de sobrecarga.

139 Polimorfismo A sobrecarga e os construtores O polimorfismo de sobrecarga normalmente acontece sobre os métodos construtores, pois é comum para uma classe ter várias maneiras de instanciá-la. O programa abaixo ilustra um exemplo de polimorfismo de sobrecarga nos construtores da classe Pessoa.

140 Polimorfismo Observe que são declarados 3 construtores e todos eles têm o mesmo nome da classe. Entretanto, cada um deles recebe um número diferente de parâmetros.

141 Polimorfismo Polimorfismo de Sobreposição É a redefinição de métodos em classes descendentes. Ou seja, um método de uma classe filha com o mesmo nome de um método de uma classe mãe irá sobrepor esse último. Vejamos o exemplo.

142 Polimorfismo O polimorfismo de sobreposição em Java Considere que a classe Brinquedo possui como descendentes as classes Carro, Avião e Barco, conforme ilustra a Figura. Observe que as classes filhas sobrepõem o método mover() da classe Brinquedo.

143 Polimorfismo Vejamos então como ficam essas classes codificadas em Java.

144 Polimorfismo Considerando o método mover() de cada classe filha, como poderíamos chamar o método mover() do brinquedo (classe) correto? Ou seja, como o ControleRemoto saberá que método mover ele deve chamar se ele tem disponível três tipos de mover diferentes (um para cada brinquedo)?

145 Polimorfismo Vamos ver inicialmente como fica a implementação do Controle Remoto.

146 Polimorfismo O programa mostra como fica a classe Principal que instancia um objeto controleremoto e um objeto carro para ser controlado automaticamente. Foi criado um brinquedo do tipo Carro, e o ControleRemoto. Foi enviado o objeto carro para o objeto controleremoto através da chamada ao seu construtor. Assim, quando acionado o comando controleremoto.mover(), será chamado o método mover() do carro.

147 Atividade Implemente as classes da hierarquia da classe Figura Geometrica mostrada na Figura abaixo em Java, aplicando o polimorfismo de sobreposição para o método desenha(). Em seguida, crie uma classe Principal com um método main que cria um objeto de cada uma das classes e chama seus respectivos métodos desenha().

148 Polimorfismo Polimorfismo de Inclusão No exemplo visto anteriormente, em que na classe Principal, foi criado um objeto do tipo Carro e outro do tipo ControleRemoto, utilizou-se o polimorfismo de inclusão. Isso foi feito substituindo a classe Brinquedo pela classe Carro dentro da classe ControleRemoto.

149 Polimorfismo Veja a Figura.

150 Polimorfismo Observe que a classe ControleRemoto está relacionada com a classe Brinquedo, pois possui um atributo do tipo Brinquedo. Mas, como as classes Carro, Avião e Barco são do tipo Brinquedo, elas podem substituir a classe Brinquedo em qualquer método que a utilize. A capacidade do objeto (brinquedo) do tipo Brinquedo da classe ControleRemoto de receber qualquer um objeto de subclasses da classe Brinquedo é que caracteriza o polimorfismo de inclusão.

151 Trabalho Faça um exemplo prático para apresentar os seguintes conceitos em Java. Static Interface, Implements e Abstract

152 Referências BARNES, David J.; KÖLLING Michael.Programação orientada a objetos com Java. São Paulo: Editora Pearson Prentice Hall, DEITEL, H. M.; DEITEL, P. J. Java como programar. Porto Alegre: Bookman, LEMAY, Laura. Aprenda Java em 21 dias. Tradução: Daniel Vieira. Rio de Janeiro: Campos, SANTOS, Rafael. Introdução à programação orientada objetos usando Java. São Paulo: Editora Campus, a SINTES, Anthony. Aprenda a programar orientada a objeto em 21 dias. Tradução: João Eduardo Nóbrega Tortello. São Paulo: Pearson Education do Brasil, THE JAVA: tutorials. [Tutorial Oficial Java]. Disponível em: < Acesso em: 13 maio

153 Referências THE JAVA: tutorials. [Tutorial Oficial Java]. Disponível em: < Acesso em: 13 maio About the Java Technology. Disponível em: < tion.html>.acesso em: 13 maio WIKIPÉDIA. Máquina virtual Java. Disponível em: < Acesso em: 13 maio DEITEL, H. M.; DEITEL, P. J. Java como programar. Porto Alegre: Bookman, SANTOS, Rafael. Introdução à programação orientada a objetos usando Java. Rio de Janeiro: Editora Campus, 2003.

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

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

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

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 Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

Programação Orientada a Objetos JAVA - NETBEANS Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

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 Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMANDO EM C# ORIENTADO A OBJETOS PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios

Leia mais

Profº. Enrique Pimentel Leite de Oliveira

Profº. Enrique Pimentel Leite de Oliveira Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam

Leia mais

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc. Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço

Leia mais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc. Classes Abstratas Técnico em Informática, M.Sc. Classes Abstratas 2 Classes Abstratas Abstração Devemos considerar as qualidades e comportamentos independentes dos objetos a que pertencem, isolamos seus

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

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Encapsulamento Programação Orientada

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

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

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes [email protected]

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Manual Administrador - Mídia System

Manual Administrador - Mídia System Manual Administrador - Mídia System Logo após cadastrarmos sua Empresa em nosso sistema, será enviado um e-mail confirmando as informações de acesso do Administrador do sistema. Obs: Caso não tenha recebido

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Daniel Destro do Carmo Softech Network Informática [email protected] Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite [email protected] Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

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

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013. Curso de atualização Educação Integral e Integrada Tutorial Moodle Belo Horizonte, 2013. 1. INTRODUÇÃO... 3 2. ACESSANDO O AMBIENTE... 4 3. CONHECENDO O AMBIENTE... 5 3.1. CAIXAS DE UTILIDADES... 5 4.

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes Pág 50 Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes 10 CORREÇÃO DE QUESTÕES DE AVALIAÇÃO 1 PARTE I - AVALIAÇÃO TEÓRICA 11 RESPONDA AS QUESTÕES ABAIXO: A) Qual a diferença entre

Leia mais

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

Manual do usuário. Softcall Java. versão 1.0.5

Manual do usuário. Softcall Java. versão 1.0.5 Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]

Leia mais

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Introdução à Orientação a Objetos Introdução Paradigmas de programação Programação Estruturada Composição

Leia mais

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

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

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

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

NetBeans. Conhecendo um pouco da IDE

NetBeans. Conhecendo um pouco da IDE NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Herança O que é herança? Herdar é derivar características de gerações precedentes.

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

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

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

Leia mais

EXEMPLO DE COMO FAZER UMA MALA DIRETA

EXEMPLO DE COMO FAZER UMA MALA DIRETA EXEMPLO DE COMO FAZER UMA MALA DIRETA OBS: Para esta nota de aula foi utilizada como referência: Apostila Mala Direta Santos, Jorge Rodrigues dos. Foram adaptados os comando para utilizar mala direta no

Leia mais

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! TUTORIAL DO ALUNO Olá, bem vindo à plataforma de cursos a distância da Uniapae!!! O Moodle é a plataforma de ensino a distância utilizada pela Uniapae sendo a unidade de ensino para rápida capacitação

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar relações para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: relações são essenciais Lição: inclui oito seções Tarefas práticas sugeridas Teste Cartão

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação [email protected] Conceitos Preliminares

Leia mais

Polimorfismo. Prof. Leonardo Barreto Campos 1

Polimorfismo. Prof. Leonardo Barreto Campos 1 Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

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

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê? Bibliografia Desenvolvimento Orientado a Objetos Prof.: Edson dos Santos Cordeiro LARMAN, Graig. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. STAA, Arndt von. Programação modular. Rio de Janeiro:

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

E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes

E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes E&L Protocolo, Documentos Eletrônicos e Processos Perguntas Frequentes 1. É possível excluir um processo que já foi enviado? Só será possível excluir o processo se o mesmo ainda não tiver sido recebido.

Leia mais

TUTORIAL MRV CORRETOR

TUTORIAL MRV CORRETOR TUTORIAL MRV CORRETOR O MRV Corretor é o sistema de vendas da MRV. Nele é possível realizar cadastro de clientes, efetuar reservas, solicitar análise de crédito e consultar tabelas de vendas. OUTUBRO/2012

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO? Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Utilização do Webmail da UFS

Utilização do Webmail da UFS Universidade Federal de Sergipe Centro de Processamento de Dados Coordenação de Redes de Computadores Utilização do Webmail da UFS Procedimento Com o intuito de facilitar a execução dos passos, este tutorial

Leia mais

GUIA INTEGRA SERVICES E STATUS MONITOR

GUIA INTEGRA SERVICES E STATUS MONITOR GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte

Leia mais

Manual do usuário. v1.0

Manual do usuário. v1.0 Manual do usuário v1.0 1 Iniciando com o Vivo Gestão 1. como fazer login a. 1º acesso b. como recuperar a senha c. escolher uma conta ou grupo (hierarquia de contas) 2. como consultar... de uma linha a.

Leia mais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto

Leia mais

Criando Quiz com BrOffice.impress

Criando Quiz com BrOffice.impress Criando Quiz com BrOfficeimpress A ferramenta de apresentação possibilita o desenvolvimento de várias atividades interativas como: Sete erros Quiz (Perguntas/Respostas), Colocar em ordem objetos, alfabeto,

Leia mais

Table of Contents. PowerPoint XP

Table of Contents. PowerPoint XP Table of Contents Finalizando a apresentação...1 Usando anotações...1 Desfazer e repetir...1 Localizar e substituir...2 Substituir...2 Efeitos de transição...3 Esquema de animação...6 Controlando os tempos

Leia mais

Tutorial: Webmail. Dicas de Uso e Funcionalidades 02/2015. Versão 01

Tutorial: Webmail. Dicas de Uso e Funcionalidades 02/2015. Versão 01 Tutorial: Webmail Dicas de Uso e Funcionalidades 02/2015 Versão 01 Conteúdo Tutorial: Webmail 2015 Descrição... 2 Possíveis problemas... 5 Criando Regras de Mensagens (Filtros Automáticos)... 11 A partir

Leia mais

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA Introdução ao Visual Studio VB.Net Programação Estruturada 1 Nesse momento inicial não iremos programar em VB.Net, usando o Visual Studio, mas conhecer alguns comandos e variáveis usadas em uma linguagem

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]

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. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

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

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar consultas para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: consultas são essenciais Lição: inclui sete seções Tarefas práticas sugeridas Teste.

Leia mais

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET I Sumário 1. Objetivo do Documento... 1 2. Início... 1 3. Cadastro de Pessoa Física... 3 3.1. Preenchimentos Obrigatórios.... 4 3.2. Acesso aos Campos

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

Iniciação à Informática

Iniciação à Informática Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através

Leia mais

GUIA BÁSICO DA SALA VIRTUAL

GUIA BÁSICO DA SALA VIRTUAL Ambiente Virtual de Aprendizagem - MOODLE GUIA BÁSICO DA SALA VIRTUAL http://salavirtual.faculdadesaoluiz.edu.br SUMÁRIO 1. Acessando Turmas 4 2. Inserindo Material 4 3. Enviando Mensagem aos Alunos 6

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Capture Pro Software. Guia de referência. A-61640_pt-br

Capture Pro Software. Guia de referência. A-61640_pt-br Capture Pro Software Guia de referência A-61640_pt-br Iniciando o Kodak Capture Pro Software Este guia foi projetado para fornecer instruções simples para início rápido, incluindo a instalação e a inicialização

Leia mais

AULA 6 - Operações Espaciais

AULA 6 - Operações Espaciais 6.1 AULA 6 - Operações Espaciais Essa aula descreve as operações espaciais disponíveis no TerraView. Antes de iniciar sua descrição é necessário importar alguns dados que serão usados nos exemplos. Exercício:

Leia mais

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual do Sistema Vida Controle de Contatos Editorial Brazil Informatica Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...

Leia mais

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez

1- Requisitos mínimos. 2- Instalando o Acesso Full. 3- Iniciando o Acesso Full pela primeira vez Manual Conteúdo 1- Requisitos mínimos... 2 2- Instalando o Acesso Full... 2 3- Iniciando o Acesso Full pela primeira vez... 2 4- Conhecendo a barra de navegação padrão do Acesso Full... 3 5- Cadastrando

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

GUIA DE ORIENTAÇÕES ROTEIRO DE CONFIGURAÇÃO DO SOFTWARE CRM PROFESSIONAL ANEXO III ROTEIRO DE CONFIGURAÇÃO - CRM PROFESSIONAL

GUIA DE ORIENTAÇÕES ROTEIRO DE CONFIGURAÇÃO DO SOFTWARE CRM PROFESSIONAL ANEXO III ROTEIRO DE CONFIGURAÇÃO - CRM PROFESSIONAL ANEXO III ROTEIRO DE CONFIGURAÇÃO - CRM PROFESSIONAL GUIA DE ORIENTAÇÕES ROTEIRO DE CONFIGURAÇÃO DO SOFTWARE CRM PROFESSIONAL ANEXO III ROTEIRO DE CONFIGURAÇÃO E INSTALAÇÃO DO CRM PROFESSIONAL SUMÁRIO

Leia mais

Gerenciamento de Contatos

Gerenciamento de Contatos Gerenciamento de Contatos O objetivo deste módulo é ajudar a gerenciar todos os contatos da empresa. Além dos dados mais importantes, o módulo permite cadastrar anotações e relacionar as tarefas e eventos

Leia mais