Introdução a Programação Orientada a Objetos

Apresentações semelhantes


Apresentação em tema: "Introdução a Programação Orientada a Objetos"— Transcrição da apresentação:

1 Introdução a Programação Orientada a Objetos
Noções básicas Outras disciplinas complementarão Programação Como elaborar programas Orientada a Objetos Paradigma de modelagem conceitual

2 Paradigma de Orientação a Objetos
Surgiu na tentativa de solucionar problemas existentes no desenvolvimento de softwares complexos com confiabilidade e baixo custo de desenvolvimento e manutenção Representar objetos em um software é mais natural e permanente do que representar a sua funcionalidade – decomposição funcional –, pois essa é mutável

3 Modelagem Conceitual Tarefa mais importante do processo de desenvolvimento de um software Realiza-se a análise do domínio da aplicação e a modelagem das entidades e fenômenos desse domínio que o projetista considera importante, independentemente da implementação A tarefa de modelagem conceitual envolve dois mecanismos Abstração Representação

4 Entidade Representada
Modelagem Conceitual Operação mental para observar um domínio e capturar sua estrutura Uso de convenções de representação REPRESENTAÇÃO ABSTRAÇÃO Entidade Representada Entidade Observada Notação gráfica, linguagem de programação Avião

5 Abstração Mecanismo utilizado na análise de um domínio
Indivíduo observa a realidade e dela abstrai entidades e ações consideradas essenciais para uma aplicação, excluindo todos os aspectos julgados irrelevantes Exercício: analisar os objetos apresentados a seguir e distinguir características e ações que estes objetos podem executar

6

7 Conceitos Básicos de OO
Mundo real é formado por Entidades que interagem entre si Entidades podem ser classificadas em Categorias A categoria de uma entidade define suas Características, ou particularidades Funcionalidades, ou atividades que as entidades de uma categoria podem executar

8 Substituindo por sinônimos…
Entidades por Objetos Categorias por Classes Características por Atributos Funcionalidades por Métodos

9 Em outras palavras… Mundo real é formado por Objetos que interagem entre si Objetos podem ser classificados em Classes A classe de um objeto define seus Atributos, ou particularidades Métodos, ou as atividades que os objetos de uma classe podem executar

10 os significados dos termos
Segundo o dicionário Aurélio Século XXI os significados dos termos Classe Objeto Atributo Método são...

11 Classe Categoria, ordem
Numa série ou num conjunto, grupo ou divisão que apresenta características semelhantes Informática: Em programação ou modelagem orientada a objetos, categoria descritiva geral, que abrange o conjunto de objetos que compartilham uma ou mais características quanto a seus itens de dados e procedimentos associados

12 Objeto Tudo que é manipulável e/ou manufaturável
Tudo que é perceptível por qualquer dos sentidos Informática: Em programação orientada a objetos, qualquer módulo que contém rotinas e estruturas de dados e é capaz de interagir com outros módulos similares, trocando mensagens

13 Atributo Método Aquilo que é próprio de um ser
Informática: Na modelagem conceitual, cada uma das propriedades que definem um objeto ou entidade Método Caminho pelo qual se atinge um objetivo Informática: Programa que regula previamente uma série de operações que devem ser realizadas, apontando erros evitáveis, em vista de um resultado determinado

14 Classes Todos os objetos do mundo real podem ser divididos em categorias ou classes se eles possuírem as mesmas características, ou atributos, e mesmas funcionalidades, ou métodos Muito importante é compreender a diferença entre Atributo Valor de atributo

15 Classes Todos os objetos da mesma classe possuem os mesmos atributos
Uma classe Define as características de um grupo de objetos, ou seja, define como serão as instâncias pertencentes a ela Define também quais serviços, ou operações, qualquer objeto da classe poderá executar, ou seja, seu comportamento

16 Definição dos Atributos Definição das funcionalidades ou Métodos
Classes Representação simples em UML Nome da Classe Definição dos Atributos Definição das funcionalidades ou Métodos Como todo objeto é uma instância de alguma classe, isto é, todo objeto pertence a uma classe, então a classe pode ser considerada como o tipo do objeto

17 UML Acrônimo de Unified Modeling Language – Linguagem de Modelagem Unificada Pode ser usada com qualquer processo de desenvolvimento Padronizada pelo OMG – Object Management Group – e já sofreu atualizações Versão atual: UML 2.0 Mais informações em pt.wikipedia.org/wiki/UML

18 Objetos Objeto é qualquer coisa que tenha algum significado dentro do contexto de um problema, seja ela concreta ou abstrata, ou seja, qualquer coisa que apresente alguma utilidade ou sirva para um propósito Para programação, um objeto é a abstração de uma entidade do mundo real que apresenta sua própria existência, identificação, características de composição e que pode executar determinados serviços quando solicitado

19 Exemplos: Objetos e Classes
um livro uma página de um livro uma viagem uma determinada data um endereço de alguém uma pessoa uma determinada festa uma música uma conexão de rede uma nota fiscal uma determinada porta Classes Livro Página de livro Viagem Data Endereço Pessoa Festa Música Conexão de rede Nota fiscal Porta

20 Exemplos Seja a definição de uma classe Porta, que deve representar as características e funcionalidades consideradas relevantes para todos os objetos que compõem esta classe Classe Porta Atributos cor altura largura fechadura Funcionalidades abrir-se fechar-se

21 Exemplos Seja o objeto resultante de uma abstração da porta de uma sala, ou seja, um objeto uma porta Objeto uma porta Atributos cor = azul altura = 2,10 m largura = 0,90 m fechadura = “objeto da classe das fechaduras” Funcionalidades abrir-se fechar-se

22 Exemplos Seja a definição abstrata de uma classe Aluno de uma determinada disciplina Considerando que o sistema de avaliação em uma disciplina seja por uma prova escrita, os atributos e serviços deste objeto seriam Classe Aluno Atributos nome do aluno matrícula nota prova Funcionalidades estudar assistir aula realizar prova

23 Exemplos Seja a definição de um objeto um aluno da classe Aluno definida anteriormente Objeto um aluno Atributos nome do aluno = Maria matrícula = nota prova = 9,0 Funcionalidades estudar assistir aula realizar prova

24 Exemplos Objeto meu relógio Atributos Formato arredondado Cor amarela
Peso gramas A Pulseira outro objeto Os Ponteiros outro objeto A Pilha outro objeto Métodos Iniciar marcação de horas Informar horas Corrigir horas Trocar pilha

25 Características de qualquer objeto da Classe Relógio
Exemplos Objeto meu relógio Atributos Formato arredondado Cor amarela Peso gramas A Pulseira outro objeto Os Ponteiros outro objeto A Pilha outro objeto Métodos Iniciar marcação de horas Informar horas Corrigir horas Trocar pilha Características de qualquer objeto da Classe Relógio

26 Características do meu relógio em particular
Exemplos Objeto meu relógio Atributos Formato arredondado Cor amarela Peso 30 gramas A Pulseira outro objeto Os Ponteiros outro objeto A Pilha outro objeto Métodos Iniciar marcação de horas Informar horas Corrigir horas Trocar pilha Características do meu relógio em particular

27 Funcionalidade de qualquer objeto da Classe Relógio
Exemplos Objeto meu relógio Atributos Formato arredondado Cor amarela Peso 30 gramas A Pulseira outro objeto Os Ponteiros outro objeto A Pilha outro objeto Métodos Iniciar marcação de horas Informar horas Corrigir horas Trocar pilha Funcionalidade de qualquer objeto da Classe Relógio

28 Outros objetos que ajudam a compor um objeto da Classe Relógio
Exemplos Objeto meu relógio Atributos Formato arredondado Cor amarela Peso 30 gramas A Pulseira outro objeto Os Ponteiros outro objeto A Pilha outro objeto Métodos Iniciar marcação de horas Informar horas Corrigir horas Trocar pilha Outros objetos que ajudam a compor um objeto da Classe Relógio

29 Objetos – Representação Visual
meu relógio Representação simples Objeto com outros objetos agregados Objeto composto meu relógio os ponteiros a pulseira a pilha

30 Objetos Um objeto é um elemento do programa que, após ser criado através da execução de determinados comandos pelo computador, passa a ocupar um espaço na memória Todo objeto deve ter uma identificação (nome) Os atributos são as características de composição de um objeto e definem sua estrutura Atributos valores simples ou outros objetos podem mudar durante a vida do objeto

31 Objetos As ações, serviços realizados ou comportamento dos objetos, serão chamados de métodos Devemos imaginar que um objeto é algo que tem vida própria e que tenha capacidade de realização de ações mesmo quando este objeto tratar-se da abstração de algo inanimado ou abstrato

32 Sobre Objetos e suas Classes
Objetos de uma certa classe têm atributos Uma conta tem um número, um saldo, um histórico de transações Um cliente tem um nome, um endereço Um cheque tem um valor Objetos de uma mesma classe têm um mesmo comportamento Clientes entram numa agência Clientes fazem depósitos e saques Clientes emitem cheques

33 Classes Há simplificações no comportamento dos objetos em relação ao mundo real Por vezes não é interessante modelar todo o comportamento dos objetos Exemplo: clientes tomam café no mundo real mas provavelmente não na classe Cliente Os comportamentos freqüentemente são assumidos por objetos diferentes Exemplo: no mundo real, quem faz um depósito numa conta? Um cliente Nos programas, qual classe assumiria a responsabilidade de fazer um depósito? A classe conta

34 Classes Alguns objetos não têm comportamento
Contas não são vivas: não "fazem" nada Objetos podem estar relacionados Um cliente pode possuir várias contas Objetos podem pertencer a mais de uma classe João, que pertence a classe Cliente, pode pertencer também a classe Estudante Para ler mais sobre o assunto

35 Representação da Classe
Nome da Classe Relogio -String formato -String cor -String peso -Pulseira apulseira -Ponteiro osponteiros -Pilha apilha Atributos Atributos que correspondem a objetos de outras classes + iniciarMarcacaoDeHoras + informarHoras + corrigirHoras + trocarPilhas Métodos

36 Representação da Classe
Nessa disciplina daremos especial atenção a Construção de Métodos Relogio -String formato -String cor -String peso -Pulseira apulseira -Ponteiro osponteiros -Pilha apilha +iniciarMarcacaoDeHoras +informarHoras +corrigirHoras +trocarPilhas

37 Métodos Um Objeto presta um serviço executando algum Método especificado em sua classe Um mesmo serviço poderá ser executado de várias formas, mas por enquanto assumiremos que cada Serviço corresponderá a um Método Denominação: Serviço para a ação do objeto Método para a forma como a ação será executada Inicialmente veremos a construção de um método como a construção de um programa

38 A Plataforma Java Uma plataforma é o ambiente de hardware e software onde um programa é executado A Plataforma Java é definida por: APIs Java Máquina Virtual Java

39 Exemplo de Um Programa

40 Exemplo de Um Programa class Carro { String marca; String cor;
boolean motorEstado; void ligaMotor() { motorEstado = true; System.out.println("O motor foi ligado."); } void desligaMotor() { motorEstado = false; System.out.println("O motor foi desligado."); void mostraAtributos() { System.out.println("O carro tem a cor " + cor + "e eh da marca " + marca); if (motorEstado == true) System.out.println("O motor jah estah ligado."); else { System.out.println("O motor estah desligado.");

41 Exemplo de Um Programa Bem, até agora criamos apenas a classe Carro. Precisamos criar também um objeto dessa classe. Em Java podemos fazer isso adicionando o método main à classe Carro e nele instanciando efetivamente um objeto da classe Carro (comando new).

42 Exemplo de Um Programa public static void main (String args[]) {
Carro meuCarro = new Carro(); // instancia o objeto meuCarro.marca = "Palio"; // inicia o atributo marca meuCarro.cor = "azul"; // inicia o atributo cor System.out.println("Mostrando os atributos:"); meuCarro.mostraAtributos(); //mensagem para o objeto System.out.println(" "); System.out.println("Ligando o motor..."); meuCarro.ligaMotor(); //mensagem para ligar o carro meuCarro.mostraAtributos(); System.out.println("Desligando o motor..."); meuCarro.desligaMotor(); }

43 Pronto, a tela deve exibir algo como:
Exemplo de Um Programa Pronto, a tela deve exibir algo como:

44 A Linguagem Java Um ambiente de programação Java é constituído de um compilador Java que gera um código de mais baixo nível denominado bytecode O bytecode é então interpretado Um interpretador de bytecodes interpreta as instruções da chamada “Máquina Virtual Java” (JVM) Este esquema, além de outras vantagens, contribuí para facilitar a implementação da linguagem em um grande número de computadores diferentes

45 Ambientes de Programação
Além de compiladores e interpretadores um ambiente de programação de uma linguagem de alto nível oferece, em geral, um conjunto de bibliotecas de componentes ou módulos de programas usados no desenvolvimento de programas Além disso incluem ferramentas para uso e desenvolvimento de programas como editores de texto e depuradores de programas Em um ambiente de programação integrado todos estes componentes são oferecidos no mesmo programa

46 IDEs IDE é a sigla de Integrated Development Environment, ou Ambiente Integrado de Desenvolvimento Usaremos JCreator Outras IDEs que podem ser utilizadas Eclipse ( NetBeans ( Gel ( JEdit ( OptimalJ (


Carregar ppt "Introdução a Programação Orientada a Objetos"
Anúncios Google