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

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

METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.

Apresentações semelhantes


Apresentação em tema: "METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1."— Transcrição da apresentação:

1 METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: abdala@das.ufsc.br 1

2 Aprimorar a compreensão dos diversos aspectos da orientação a objetos; Introduzir os conceitos de: Encapsulamento; Herança; Polimorfismo. Exercitar os tópicos visto em aula via o exemplo Geometrix. 2

3 Os doze termos da OO; Revisão dos conceitos da aula passada; Encapsulamento; Herança; Polimorfismo; Exemplos. 3

4 Objeto Método Mensagem Classe Subclasse Instância 4 Herança Encapsulamento Abstração Polimorfismo Atributo Agregação

5 Objetos vs Classes vs Instâncias Objetos – abstração das entidades do mundo real. Levantamento de atributos e comportamentos; Classes – template para criação de objetos funcionais(Instâncias) Instâncias – realização funcional do objeto 5

6 6 variáveis métodos

7 7 Adiciona item Validar cartão Registrar cartão Atualizar endereço Finalizar compra nome CPF RG cartão carrinho métodos atributos

8 Objetos são uma forma de programar simples e poderosa: Podem ser definidos e mantidos independentemente uns dos outros; Definem um universo auto-contido; Tudo que o objeto sabe e representa é definido por suas variáveis/atributos; Tudo que o objeto pode fazer é expresso por seus métodos. 8

9 O sistema Geometrix é um programa que permite o desenho e cálculos relacionados a figuras geométricas tais como pontos, linha, retângulos, círculos, esferas, elipses, cubos, curvas, polígonos e polilinhas. Algumas figuras tais como retângulos e círculos podem ser capazes de informar suas áreas, perímetros dentre outras métricas geométricas. Todas as figuras podem ser redimensionadas (exceto os pontos), rotacionadas, escalonadas, ter suas coordenadas atualizadas ou movidas por meio de um offset definido pelo usuário. O conjunto de todas as figuras desenhadas em um sessão do programa compõem um diagrama que pode ser salvo ou carregado de um arquivo salvo em disco. 9

10 Em Java public class { private ; private (argumentos) {...} // interface public (argumentos) {...} } Exercício, defina classes java para os objetos levantados a partir do exemplo Geometrix. 10

11 Encapsulamento é um conceito fundamental em programação OO. A idéia que permeia o conceito de encapsulamento é isolar o conteúdo (atributos e métodos) de um objeto do mundo exterior (outros objetos). Devido ao encapsulamento objetos atuam tal como caixas pretas. Sua mecânica e sua estrutura não importam, apenas a sua interface, ou seja, a porção do objeto publicada ou deixada visível para o mundo exterior. 11

12 12 Métodos públicos interface mensagens Métodos privados atributos

13 Idéia geral: Objetos podem ser parte integrante de outros objetos. Instâncias de um dado objeto podem ser atributos de outro objeto! Agregar objetos é utilizar objetos como atributos de objetos mais complexos. 13

14 14 Ponto p1; Ponto p2; Objeto Linha

15 Poli – Várias, Morfos – Formas Métodos declarados em diferentes escopos ou até mesmo no mesmo escopo podem ter o mesmo nome. Três tipos: Sobrecarga de Função: funções com mesmo nome; Inclusão: Uma referência para classes mãe pode apontar para uma instância de uma classe filha. Paramétrico: permite que uma função ou tipo de dados seja definido parametricamente de modo que ele lide com valores de maneira similar sem depender do tipo do dado em questão 15

16 Ponto () { x = 0; y = 0; } Ponto (intnx, intny) {x =nx; y = ny;} 16

17 public class Animal { string talk(); } public class Gato extends Animal { string talk() {return Miau!} } public class Cachorro extends Animal { string talk() {return Auau!} } static void write (Animal a) { System.out.println(a.talk()); } static void main () { write (new Gato()); write (new Cachorro()); } 17

18 class List { class Node { T elem; Node next; } Node head; int length() {…} } 18

19 Outra forma de definir objetos a partir de objetos pré-existentes; Herança é fundamentada visto que certos objetos podem ser vistos como especializações de objetos mais genéricos pré-existentes. 19 Animal ave mamífero peixeinsetoanfíbioverme fera primata

20 Objetos mais complexos podem ser definidos como extensões de objetos mais simples: 20 Usuário AdminPadrão

21 Com relação a herança de classes, é possível definir uma classe como sendo abstrata. Este tipo especial de classe não pode ser instanciada e serve apenas para definir uma estrutura e interface uniforme a ser compartilhada por todas as subclasses. 21

22 Programação OO utiliza um vocabulário específico; Relação entre objetos, classes e instâncias; Encapsulamento define o escopo dos objetos information hiding; Agragação permite que objetos complexos sejam definidos como uma composição de objetos mais simples Herança permite que objetos mais complexos sejam definidos como uma extensão de um objeto mais simples 22

23 D. A. Taylor, Object-Oriented Technology: A Managers Guide. Adson-Wesley Publishing Company, Inc. 1990. R. S. Wazlawick, Análise e Projeto de Sistemas de Informação Orientados a Objetos. Ed. Campus, 2004. H. M. Deitel, P. J. Deitel. Java Como Programar. Bookman, 3 rd Ed, 2000. 23


Carregar ppt "METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1."

Apresentações semelhantes


Anúncios Google