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

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

Download "Introdução à Programação Orientada a Objetos II"

Transcrição

1 Introdução à Programação Orientada a Objetos II BCC Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP

2 Polimorfismo I Polimorfismo São comportamento diferentes, asociados a objetos distintos, pode compartilhar o mesmo nome; ao ser chamados por esse nome, será utilizado o comportamento correspondente ao objeto que é usado É a possibilidade de um mesmo método ser executado de forma diferente de acordo com a classe do objeto que aciona o método Os métodos envolvidos são chamados de virtuais, podem atuar em qualquer nível da hierarquia. 1/71

3 Polimorfismo II 2/71

4 Polimorfismo III Figura draw():void Retangulo Triangulo Circulo draw():void draw():void draw():void 3/71

5 Polimorfismo IV Tipos de polimorfismo Ad hoc: refere-se a funções que mudam seu comportamento dependendo do tipo de argumentos que recebem (sobrecarga de métodos o funções) v o i d E s c r e v e ( ) ; v o i d E s c r e v e ( i n t num ) ; v o i d E s c r e v e ( i n t num, s t r i n g nome ) ; 4/71

6 Polimorfismo V Paramétrico: permite que as funções e classes possam se escrever de forma genérica. Exemplo: C++ - templates e Java - Generics Subtipos: os subtipos de um tipo podem substituir o comportamento das funções do supertipo com sua própria implementação 5/71

7 Polimorfismo VI A seleção do método pode ser feita pelo sistema durante a execução (dynamic binding) Seja F o conjunto das figuras e f uma figura, vamos desenhar a figura Na Programação Estruturada escrevemos: para cada f em F faça case tipo(f): Ret^angulo: drawr(f) Tri^angulo: drawt(f) Círculo: drawc(f) Na POO escrevemos: para cada f em F do draw(f) 6/71

8 Relacionamentos entre classes I Classes possuem relacionamentos entre elas (comunicação) Compartilham informações Colaboram umas com as outras Principais tipos de relacionamentos Associação Agregação / Composição Herança Dependência 7/71

9 Relacionamentos entre classes II Uma Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro A função da mesma é só mostrar o relacionamento ou dependência de uma classe com a outra 8/71

10 Relacionamentos entre classes III Agregação e Composição são tipos especiais de Associação; A associação de agregação é usada para indicar que um objeto colabora com outro. Pode ser uma associação simples Usa um / tem um : Uma pessoa usa um computador Ou uma acoplamento Parte de : O teclado é parte de um computador 9/71

11 Relacionamentos entre classes IV Uma empresa pode ter vários departamentos e um departamento também pode ou não existir em uma empresa 10/71

12 Relacionamentos entre classes V Um objeto agregado tem existência independente do objeto agregador O objeto agregado pode existir após eliminação do objeto agregador Exposicao tem-um Quadro Classe Agregadora Classe Agregada 11/71

13 Relacionamentos entre classes VI A classe Agregada faz parte da estrutura da classe Agregadora O objeto agregado é parte do objeto agregador (guardado em variável de instância 12/71

14 Relacionamentos entre classes VII Produto +codigo:int +descproduto:string +preco:float +quantidade:int +ListarDados():void Carrinho itens[]:produto +ExibeCarrinho():void +FecharCompra():float 13/71

15 Relacionamentos entre classes VIII A associação de composição é um tipo de associação de agregação com restrições na ligação entre parte e agregado A existência da parte depende da existência do agregado O agregado (todo) não existe (ou não faz sentido sem as partes Ou, as partes não existem sem o todo 14/71

16 Relacionamentos entre classes IX Um item de pedido não faz sentido existir sem um pedido, ou seja, dentro de um item de pedido sempre vou ter um pedido associado. 15/71

17 Relacionamentos entre classes X TabuleiroDeXadrez contém Casa Um tabuleiro de Xadrez é formado, composto por 32 casas pretas e 32 casas brancas 16/71

18 Relacionamentos entre classes XI Funcionario cpf:int nome:string datanascimento:date +ListarDados():void Empresa cnpj:int nome:string endereco:string ramo:string +visualizar():void Observe que não faz sentido ter funcionários, se não existir uma empresa onde eles possam trabalhar. Se a empresa deixar de existir, automaticamente ela deixará de ter funcionários. 17/71

19 Relacionamentos entre classes XII Identificar super-classe (geral) e sub-clases (especializadas) O relacionamento de herança define um relacionamiento do tipo é um Tudo o que a classe geral pode fazer, as classes específicas também podem Atributos e métodos definidos na classe-mãe são herdados pelas classes filhas 18/71

20 Relacionamentos entre classes XIII Pessoa nome:string Professor codigo:int Aluno matricula:int 19/71

21 Relacionamentos entre classes XIV Vantagens da herança O gráfico de herança é uma fonte de conhecimento sobre o domínio do sistema É um mecanismo de abstração usado para classificar entidades Mecanismos de reuso em vários níveis 20/71

22 Relacionamentos entre classes XV Classes de objetos não são autocontidas Não podem ser compreendidas sem referencia às super-classes O código da superclasse não estará disponível no código da subclasse É necessário que este bem documentado 21/71

23 Relacionamentos entre classes XVI Podemos pensar sobre herança como algo semelhante a funções Quando identificamos um trecho de código que se repete várias vezes, criamos uma função com aquele conteúdo Quando identificamos várias características em comum em um grupo de classes, podemos criar uma superclasse Objetivo: evitar redundância 22/71

24 Relacionamentos entre classes XVII Uma Dependência é uma forma fraca de relacionamento Tipo menos comum de relacionamento Identifica uma ligação fraca entre objetos de duas classes Uma classe depende de outra porque apenas em um momento específico ela a utiliza 23/71

25 Relacionamentos entre classes XVIII Classe independente em declarações de (existência durante a execução do método, i.e. temporária) Variáveis locais Parâmetros de métodos Conhecida como a relação knows about ( sabe sobre ou conhece ) 24/71

26 Relacionamentos entre classes XIX O método play da classe DVD-Player recebo como parâmetro uma instância da classe DVD-Midia 25/71

27 Relacionamentos entre classes XX A classe cliente depende de algum serviço da classe fornecedor A mudança de estado do fornecedor afeta o objeto cliente A classe cliente não declara nos seus atributos um objeto do tipo fornecedor Fornecedor é recebido por parâmetro de método Cuidado: a modificação da classe independente afeta a classe dependente 26/71

28 Classes Abstratas I Servem como modelo para outras classes que dela herdem Não podem ser instanciadas Para ter um objeto da classe abstrata é necessário criar uma classe mais especializada, então instanciar esse nova classe Permitem criar métodos gerais que recriam um comportamento comum, mas sem especificar como é feito Por exemplo, é definido que a classe Animal seja herdada pelas subclasses Gato, Cachorro, Cavalo, mas ela mesma nunca pode ser instanciada. 27/71

29 Classes Abstratas II A nível de código têm a particularidade que os métodos abstratos não têm corpo de implementação (somente é declarado o cabeçalho) e devem ser precedidos pela palavra chave abstract Os métodos da classe abstrata devem ser sobrescritos nas classes filhas Se uma classe contem um ou mais métodos abstratos, a classe é abstrata 28/71

30 Classes Abstratas III Figura calculararea():double calcularvolume():double Esfera Toda figura tem um método para calcular Área e Volume. A classe Esfera calcula sua área e volume calculararea():double calcularvolume():double 29/71

31 Interfaces I Interfaces representam: a parte pública de uma classe de objetos o comportamento padrão que deve ser apresentando por todas as classes que as implementam A interface de um objeto é o conjunto de operações públicas que ele pode realizar 30/71

32 Interfaces II Um objeto da classe Lâmpada, por exemplo, tem como interface as operações acender apagar Qualquer outra requisição feita a esse objeto será considerada inválida 31/71

33 Interfaces III interface Impressora interface Fax imprime():void transmite():string FaxImpressora imprime():void transmite():string 32/71

34 Interfaces IV Uma interface é semelhante a uma classe abstrata, pois ambas definem métodos que outras classes devem implementar Uma classe abstrata pode conter métodos abstratos que as classes que irão estendê-la devem implementar Uma interface define métodos que deverão ser implementados por classes que venham a implementar a interface Assim como classes abstratas, uma interface não pode ser instanciada 33/71

35 Interfaces V Classes abstratas podem conter métodos não-abstratos, que contêm implementação e que podem ser herdados e utilizados por instâncias das subclasses. As interfaces não podem conter nenhum método com implementação, todos os seus métodos são implicitamente abstract e public A diferença essencial entre classes abstratas e interfaces é que uma classe herdeira somente pode herdar de uma única classe (abstrata ou concreta) Qualquer classe pode implementar várias interfaces simultaneamente 34/71

36 Interfaces VI Interfaces são um mecanismo simplificado de implementação de herança múltipla Assim como uma classe B pode estender outra classe A, uma interface I 2 pode estender outra interface I 1. Desse modo, quando uma classe C implementar I 2, terá também obrigatoriamente que implementar os métodos definidos na interface I 1 35/71

37 Interfaces VII interface Interface1 metodo1() interface Interface2 metodo2() ClasseC metodo1() metodo2() 36/71

38 Interfaces VIII 37/71

39 Interfaces IX Uma interface estabelece uma espécie de contrato que é obedecido pelas classes que a implementam Sendo assim, quando uma classe implementa uma interface, garante-se que todas as funcionalidades especificadas pela interface serão oferecidas pela classe 38/71

40 Pacotes I Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individuais Analogamente como a organização de arquivos em pastas, faz sentido organizar classes e interfaces relacionadas Diferentes linguagens de programação fornecem bibliotecas de classes 39/71

41 Análise e Projeto OO I Antes de escrever o código, é necessário analisar os requisitos (o quê) de seu projeto e propor uma solução (como) satisfatória Pode poupar muitas horas de trabalho e dinheiro Uma linguagem gráfica utilizada para comunicação de qualquer processo de análise e projeto OO é a Unified Modeling Language (UML) 40/71

42 Unified Modeling Language (UML) I É a representação gráfica mais utilizada para modelagem de sistemas orientados a objetos Adotado como padrão internacional em 1997 Define um conjunto padrão de notações gráficas 41/71

43 Unified Modeling Language (UML) II A versão 2.0 da UML oferece padrões de diagramas estruturais e comportamentais (de interação) Estamos interessados nos diagramas estruturais Especificamente nos Diagramas de Classes 42/71

44 Unified Modeling Language (UML) III Um diagrama de classes descreve a estrutura do sistema classes atributos métodos (operações) relação entre classes O elemento fundamental dos diagramas de classes é o ícone que representa uma classe 43/71

45 Unified Modeling Language (UML) IV O ícone é um retângulo dividido em três compartimentos: O mais acima representa o nome da classe O do meio representa os atributos O último representa os métodos 44/71

46 Unified Modeling Language (UML) V Em alguns diagramas, os dois últimos compartimentos são omitidos não são apresentados todos os atributos ou métodos apenas aqueles que são importantes para a finalidade do diagrama 45/71

47 Unified Modeling Language (UML) VI Visibilidade: para especificar a visibilidade de um membro de uma classe (atributo ou método) são usados as seguintes notações + público Acessível por todas as classes privado Acessível somente pela própria classe # protegido Acessível pela classe ou por subclasses 46/71

48 Unified Modeling Language (UML) VII Circulo raio:double -centro:ponto +area():double +circunferencia():double +setcentro(ponto):void +setraio(double):void 47/71

49 Unified Modeling Language (UML) VIII Note que cada atributo é seguido de : e depois os tipo de atributo Se o tipo for redundante ou desnecessário, pode ser omitido Da mesma forma, o valor de retorno é apresentado depois de cada método Os argumentos dos métodos podem ser apenas os tipos 48/71

50 Unified Modeling Language (UML) IX Além de descrever classes, a UML pode ser usada para descrever relacionamentos entre classes Composição Herança Agregação / Associação Dependência Interfaces Esses relacionamento são descritos por linhas conectando classes 49/71

51 Unified Modeling Language (UML) X Cada extremidade da uma linha de define um relacionamento entre classe pode possuir um valor de multiplicidade Pode ser um valor fixo: 1; Pode ser um intervalo: [0... 3] O * significa vários No máximo um 0... zero ou muitos, pode haver vários objetos envolvidos no relacionamento 1... Um ou muitos, pelo menos um objetos está envolvido 50/71

52 Unified Modeling Language (UML) XI Para representar a composição, ligamos duas classes por uma linha que contém Um diamante preto do lado da classe que contém uma instância da outra Apenas a linha do lado da outra classe Time nome:string Jogador posicao:string 51/71

53 Unified Modeling Language (UML) XII VeiculoMotorizado Motor Um VeiculoMotorizado contém um Motor 52/71

54 Unified Modeling Language (UML) XIII Livro 1...* Capitulo Livro contém um ou mais Capítulos 53/71

55 Unified Modeling Language (UML) XIV A Herança é representada por uma linha contendo uma seta triangular Identificar super-classe (geral) e subclasse (especializadas) Semântica é um Tudo que a classe geral pode fazer, as classes específicas também podem Do lado da subclasse temos apenas a linha 54/71

56 Unified Modeling Language (UML) XV Forma + desenhar() + apagar() Círculo é uma Forma Ponto é uma Forma O nome da classe e os métodos em itálico indicam que são abstratos Circulo Ponto 55/71

57 Unified Modeling Language (UML) XVI Para representar uma Agregação, ligamos duas classes por uma linha contém Um diamante branco do lado da classe que contém uma instância da outra Apenas a linha do lado da outra classe A multiplicidade é sempre 1 para a classe que representa o todo Modela uma relação parte de 56/71

58 Unified Modeling Language (UML) XVII Lagoa * Pato Lagoa tem vários Patos 57/71

59 Unified Modeling Language (UML) XVIII Casa codigo:int cor:string endereco:string qt comodos:int + contruir():void * Tijolo peso:float marca:string datafabricacao:date + empilhar():void Uma casa é feita de tijolos (relação todo-parte) 58/71

60 Unified Modeling Language (UML) XIX Carro Porta 1..* Casa 2..* Todo Parte 59/71

61 Unified Modeling Language (UML) XX Representamos uma Associação por uma linha que pode ser nomeada Podemos utilizar um nome para os papeis Provavelmente a referencia será um ponteiro ou algo do tipo 60/71

62 Unified Modeling Language (UML) XXI Pessoa assinante 0.. * assina assinada 0.. * Revista 61/71

63 Unified Modeling Language (UML) XXII Cliente registro * locados DVD titulo 62/71

64 Unified Modeling Language (UML) XXIII Às vezes o relacionamento entre duas classes é muito fraco Representado por uma reta tracejada entre duas classes Não são implementados por atributos que as una Ao invés disto, pode ser implementado apenas através de parâmetros de métodos 63/71

65 Unified Modeling Language (UML) XXIV Funcionario titulo DVD + locar(funcionario func) 64/71

66 Unified Modeling Language (UML) XXV Uma Interface é representada de forma parecida com uma classe Não possui atributos e usa um estereótipo, palavra entre << e >> O estereótipo <<interface>> denota uma interface Seus métodos devem ser públicos e abstratos Identificador em itálico denota métodos abstratos 65/71

67 Unified Modeling Language (UML) XXVI interface Figura + calculararea():double Quadrado lado:double + calculararea():double Circulo raio:double + calculararea():double) Como a classe Quadrado implementa a interface Figura, então, o método calculararea() deve obrigatoriamente ser implementado 66/71

68 Exemplo I Um Estudante pode ser um aluno de uma Disciplina e jogador da Equipe de Futebol Cada Disciplina deve ser cursada por no mínimo 1 aluno Um aluno pode cursar de 0 até 8 disciplinas 67/71

69 Exemplo II EquipeFutebol time 1 compete jogador Estudante 1..* aluno 0..8 participa disciplina Disciplina 68/71

70 Exemplo III Emissão de extrato de multas de transito 69/71

71 Exemplo IV PoliciaTransito emite 1 * ExtratoMulta id:long descripcao:string aconteceu:date 1..* 1 Infrator nome: string id:long Policia id:long nome:string rank:int reporta 1..* Infracao id:long descricao:string 70/71

72 FIM 71/71

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Pacotes Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individiduais;

Leia mais

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de

Leia mais

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago Diagramas de Classes Conceitos Básicos O caso de uso fornece uma perspectiva do sistema de um ponto de vista externo (do ator) Internamente os objetos colaboram para atender às funcionalidades do sistema

Leia mais

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição Diagrama de Classes Diagrama de Classes Classes Atributos Métodos Relacionamentos Associação Agregação Composição Generalização Dependência Realização Sobre Classes São o elemento mais importante de qualquer

Leia mais

Introdução à UML. Prof. Jesus José de Oliveira Neto

Introdução à UML. Prof. Jesus José de Oliveira Neto Introdução à UML Prof. Jesus José de Oliveira Neto UML Linguagem de Modelagem Unificada Linguagem visual utilizada para modelar softwares baseados no paradigma de orientação a objetos UML não é uma linguagem

Leia mais

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br C++ e POO Fundamentação de Orientação a Objetos (OO) Sintaxe básica de C++ Modelagem de sistemas orientada a

Leia mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes Engenharia de Software Aula 09 Tópicos da Aula Projeto de Software Revisão de orientação a objetos Projeto orientado a objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 04

Leia mais

POO e C++: Herança e Polimorfismo

POO e C++: Herança e Polimorfismo POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas

Leia mais

Daniel Wildt

Daniel Wildt Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória

Leia mais

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos

Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML. Prof. Ricardo A. Ramos Diagramas de Classes e O Paradigma da Orientação a Objetos usando UML Prof. Ricardo A. Ramos Engenharia de Software II 207. 04/07/207 UML Unified Modeling Language É uma linguagem para especificação, construção,

Leia mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. O que é polimorfismo? O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar

Leia mais

Introdução a orientação a objetos

Introdução a orientação a objetos 2 Introdução a orientação a objetos Introdução 2 Linguagens procedimentais 2 Um pouco de história 2 Idéias básicas da POO 2 Classe, atributo e método 2 Herança 3 Polimorfismo 3 Vantagens e desvantagens

Leia mais

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência Prof.Dr. Enzo Seraphim 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência

Leia mais

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Abstração JAVA Definição Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Em Java, a abstração é alcançada através de classes abstratas e interfaces. Classes

Leia mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Linguagem de Programação. Diagrama de classes

Linguagem de Programação. Diagrama de classes Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos flavio@facom.ufu.br 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta

Leia mais

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML. ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Análise Orientada a Objetos AULA 03 Análise Orientada a Objetos; O Paradigma de Objetos; A UML. Prof. Sandrerley R. Pires Goiânia, agosto de 2003 Conceitos

Leia mais

UML. Diagrama de Classe

UML. Diagrama de Classe UML Diagrama de Classe Em UML as classes são representadas por um retângulo dividido em três compartimentos: o compartimento de nome, que conterá apenas o nome da classe modelada, o de atributos, que possuirá

Leia mais

Professor Leonardo Cabral da Rocha Soares Lattes:

Professor Leonardo Cabral da Rocha Soares Lattes: Professor Leonardo Cabral da Rocha Soares Lattes: http://lattes.cnpq.br/3184602538494393 A Herança, em programação orientada a objetos (POO), é a possibilidade de escrever novas classes partindo de classes

Leia mais

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42 Diagrama de Classes Régis Patrick Silva Simão Régis Simão Diagrama de Classes 1/42 Agenda Introdução Objetos Classes Atributos Operações & Métodos Relacionamentos Relacionamento: Associação Nome de Relacionamento

Leia mais

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer BANCO DE DADOS I Prof. Luiz Antônio Vivacqua C. Meyer Projeto de Banco de Dados Etapas do Desenvolvimento de um Projeto de Sistemas: 1. Levantamento de Requisitos a. Requisitos Funcionais b. Requisitos

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

Fundamentos de Orientação à objetos

Fundamentos de Orientação à objetos Fundamentos de Orientação à objetos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Objeto Um objeto, como um substantivo, pode ser uma pessoa, local ou

Leia mais

Modelo do Mundo Real. Abstração. Interpretação

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.

Leia mais

Prof. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos

Leia mais

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,

Leia mais

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes Aula 15 Modelagem de Classes de Análise Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Outline O paradigma da OO Classes e objetos Mensagens O papel da abstração Encapsulamento

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA LPOO - Linguagem de Programação Orientada a Objetos Prof. Msc. Célio R. Castelano Página 1 de 7 Curso Ciência da Computação Professor Célio Ricardo Castelano UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

Interfaces e Classes Abstratas

Interfaces e Classes Abstratas Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos

Leia mais

Curso SISTEMAS DE INFORMAÇÃO Série 3 Disciplina Análise e Projeto Orientados a Objetos

Curso SISTEMAS DE INFORMAÇÃO Série 3 Disciplina Análise e Projeto Orientados a Objetos Curso SISTEMAS DE INFORMAÇÃO Série 3 Disciplina Análise e Projeto Orientados a Objetos Prova A 01)O que é UML (Unified Modeling Language)? Cite pelo menos três exemplos de diagramas Comportamentais e três

Leia mais

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

ACH2002. Orientação a Objetos

ACH2002. Orientação a Objetos ACH2002 Orientação a Objetos Professores: Delano Medeiros Beder Fátima L. S. Nunes EACH USP O que é abstração? Abstração s.f. Operação do espírito, que isola de uma noção um elemento, negligenciando os

Leia mais

Herança Tiago Eugenio de Melo

Herança Tiago Eugenio de Melo Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características

Leia mais

Panorama da notação UML

Panorama da notação UML Panorama da notação UML A notação UML (Unified Modeling Language linguagem de modelagem unificada) evoluiu desde que foi adotada a primeira vez como um padrão em 1997. Uma revisão maior para o padrão foi

Leia mais

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO PROGRAMAÇÃO I HERANÇA E POLIMORFISMO Prof. Dr. Daniel Caetano 2017-1 Objetivos Compreender o conceito de herança na orientação a objetos Implementar herança para reuso de código e facilitar manutenção

Leia mais

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula 1 Mostra um conjunto de classes e seus relacionamentos. É o diagrama central da modelagem orientada a objetos.

Leia mais

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo Prof. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite Modelo Conceitual Análise e Projeto de Sistemas Avançados Aula 5 Allan Rodrigo Leite Modelo Conceitual Oferece uma visão das informações que são gerenciadas pelo sistema Representação e transformação da

Leia mais

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( ) ELEMENTOS BÁSICOS DA LINGUAGEM JAVA Patricia Della Méa Plentz INE-CTC-UFSC E-Mail: plentz@inf.ufsc.br URL: http://moodle.ufsc.br INE5605-Turma 0238B Sumário 2.1 Classes e Objetos na POO 2.2 2 Revisão da

Leia mais

Tópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos

Tópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos Reuso de Software Aula 20 Tópicos da Aula Desenvolvimento Dirigido por Modelos (MDD) Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com

Leia mais

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer Introdução As funcionalidades de um SOO são realizadas internamente através de colaborações entre objetos. Externamente,

Leia mais

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Associação 2 Associação Agregação e Composição são tipos especiais de Associação; Uma Associação é o mecanismo pelo qual um

Leia mais

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java para Desktop. Programação Orientada à Objetos 2 JSE Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona

Leia mais

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros Modelagem de Classes Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@id.uff.br Resumo Introdução Conceitos em Orientação a Objetos Diagrama

Leia mais

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

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes O diagrama de classe é a essência de qualquer modelagem orientada a objeto. Ele tem por objetivo descrever, segundo uma visão estática, o escopo

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO1 Prof. Fabiano Dorça Classes e métodos abstratos É impossível instanciar objetos a partir de classes abstratas. Classes abstratas

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Técnicas de Orientação a Objetos Classes e objetos Herança Métodos Subscritos

Leia mais

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

UML Diagrama de Classes

UML Diagrama de Classes CBSI Curso de Bacharelado em Sistemas de Informação UML Diagrama de Classes Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Análise e Projeto de Sistemas Faculdade de Computação

Leia mais

Herança - Conceitos Básicos

Herança - Conceitos Básicos UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Herança - Conceitos Básicos! 1. Introdução!! Herança é a capacidade que instâncias de uma classe filha ou Subclasse de acessar dados

Leia mais

PROJETO DE DESENVOLVIMENTO DE SOFTWARE

PROJETO DE DESENVOLVIMENTO DE SOFTWARE PROJETO DE DESENVOLVIMENTO DE SOFTWARE Professor: Diego Oliveira Aula 12: Diagrama de Classes Diagrama de Classes Seu principal objetivo é permitir a visualização das classes que vão compor o sistema,

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Complexidade do Software

Complexidade do Software Complexidade do Software Sistemas de software são complicados Os requisitos modernos tendem a complicálo cada vez mais: Alta confiabilidade; Alto desempenho; Desenvolvimento rápido e barato Precisamos

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. Dr. Ronaldo C. de Oliveira ronaldo.co@ufu.br www.facom.ufu.br/~ronaldooliveira FACOM - 2017 Objeto É uma entidade real ou abstrata, com características específicas

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Os diagramas de use case capturam os requisitos funcionais do sistema.

Os diagramas de use case capturam os requisitos funcionais do sistema. 109/166 Diagramas de Classe Sumário Colaborações Orientação aos Objectos Diagramas de Classe I conceitos base Diagramas de Classe II conceitos avançados Relações conceitos avançados Diagramas de objectos

Leia mais

Análise de Sistemas 3º Bimestre (material 2)

Análise de Sistemas 3º Bimestre (material 2) Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Prof. Esp. Thiago S F Carvalho Faculdades Integradas de Diamantino 2016 Caravalho, T.S.F. (FID) POO 2016 1 / 38 Programação Orientada a Objeto Hoje revisaremos os conceitos

Leia mais

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe 38 Diagramas de Classe Sumário Introdução aos Diagramas de Classe Notação base Classes Níveis de modelação Relações entre as classes Decorações Extensões 39 Génese Use Cases Permitem modelar a captura

Leia mais

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema: Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)

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 Herança É um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e métodos

Leia mais

Engenharia de Software II e III - Introdução ao Diagrama de Classe

Engenharia de Software II e III - Introdução ao Diagrama de Classe 1-Orientação a Objetos ANÁLISE ESTRUTURADA X ANÁLISE O.O. Enfoque Tradicional: Conjunto de programas que executam processos sobre dados. Enfoque Baseado em Objetos: Conjunto de coisas que tem características

Leia mais

Linguagem de Programação IV Introdução

Linguagem de Programação IV Introdução Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação

Leia mais

Herança - Conceitos Básicos

Herança - Conceitos Básicos DAELN!! Herança - Conceitos Básicos 1. Introdução! Herança é a capacidade que instâncias de uma classe filha ou Subclasse de acessar dados e procedimentos ou métodos associados com uma Classe Parente ou

Leia mais

Linguagem de Modelagem Unificada UML

Linguagem de Modelagem Unificada UML Linguagem de Modelagem Unificada UML Parte 1 Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Paradigma Orientado a Objetos Linguagem UML e seus principais diagramas Diagramas

Leia mais

Linguagem de programação Programação Orientada a objetos

Linguagem de programação Programação Orientada a objetos Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de

Leia mais

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos : muitas formas de implementação de uma operação Permite esconder diferentes implementações atrás da mesma interface

Leia mais

Análise de Sistemas 4º Bimestre (material 3)

Análise de Sistemas 4º Bimestre (material 3) Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam

Leia mais

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos Objetivo da Unidade*: Conhecer e aplicar os conceitos mais importantes associados a orientação a objetos. 5.1 Métodos e atributos estáticos Atributos

Leia mais

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Programação Orientada a Objetos Flávio de Oliveira Silva 144 HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse(também chamada classe base) relacionada a esta subclasse. Dessa forma os atributos e métodos de uma classe são

Leia mais