Desenvolvimento de Aplicações Desktop

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

Download "Desenvolvimento de Aplicações Desktop"

Transcrição

1 Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite

2 Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de software na OO consiste em definir objetos que interagem entre si, com um propósito específico 2

3 Motivação E qual a vantagem de tudo isso? 3

4 Motivação O mundo (a realidade) é formado por objetos Assim, a programação OO pode ser usada para representar de forma eficiente as entidades do mundo real Podemos criar um objeto, por exemplo, para representar um funcionário de uma empresa Assim, poderíamos criar um objeto por funcionário, com características e comportamentos para representá-lo Com isso, a programação OO permite mapear nossos programas a situações reais que eles representam 4

5 Motivação A Programação OO torna mais fácil resolver problemas reais 5

6 Princípios da OO A programação OO requer um conhecimento sólido dos seguintes conceitos: Objeto Atributo Método Classe Encapsulamento Herança Polimorfismo Além desses, existem outros que permitem adaptar nossas soluções de diversas formas 6

7 Objetos Um OBJETO constitui um elemento fundamental de um programa Representa um entidade real no domínio do problema Por exemplo, uma conta bancária para um sistema bancário Podemos considerar que na OO tudo são objetos Os sistemas são objetos Os dados manipulados e comunicados entre os sistemas são objetos Cada parte de um sistema (sub-sistema) é um objeto Os dispositivos eletrônicos são objetos A interface com o usuário é um objeto, composto por vários outros objetos 7

8 Objetos Todo objeto é definido por um ESTADO e por um conjunto de COMPORTAMENTOS O ESTADO representa as características ou propriedades de um objeto Por exemplo, o estado de um objeto que representa uma conta bancária pode ser o seu número e seu saldo Os COMPORTAMENTOS são as atividades que um objeto pode realizar, ou seja, suas operações O comportamento pode examinar ou alterar o estado de um objeto Por exemplo, as atividades (operações) de sacar dinheiro e de fazer depósitos poderiam estar associadas a uma conta bancária 8

9 Objetos Um objeto que representa um Blu Ray O estado atual do Blu Ray; o que ele está fazendo... As operações que o Blu Ray pode executar 9

10 Objetos Um objeto que representa uma CONTA BANCÁRIA 10

11 Objetos Estados do objeto CONTA BANCÁRIA O COMPORTAMENTO, nesse caso, alterou o ESTADO do objeto 11

12 Atributos São valores que um objeto armazena internamente, podendo ser representados por dados primitivos ou por outros objetos Por exemplo: Um objeto que representa uma conta bancária pode armazenar um número real para representar seu saldo Ele ainda pode conter outros atributos, como o nome do seu proprietário Os valores de todos os atributos de um objeto definem o seu estado 12

13 Métodos Um MÉTODO consiste num grupo de declarações, identificado por um nome Quando um método de um objeto é chamado, dentro de um programa, suas declarações são executadas Um objeto possui um conjunto de métodos associado Esses métodos definem, exatamente, os comportamentos do objeto Por exemplo: O comportamento fazer um depósito de um objeto conta bancária é definido por um método que contém declarações que atualizarão o saldo dessa conta 13

14 Métodos Existe uma relação direta entre os atributos de um objeto e seus métodos 14

15 Classes Um objeto é definido a partir de uma CLASSE Uma CLASSE representa um agrupamento de objetos que possuem propriedades comuns e que podem realizar as mesmas operações É uma definição que descreve como objetos pertencentes à ela são estruturados internamente quais propriedades e operações que o objeto possui CLASSE é um conceito, enquanto OBJETO é uma instância desse conceito Uma CLASSE serve como um modelo para criação de objetos Portanto, podemos ter vários objetos pertencentes à mesma classe 15

16 Classes Por exemplo: Uma planta criada por um arquiteto, para projetar uma casa, define diversas características (paredes, janelas, portas, tomadas, etc.) Uma vez que a planta é criada, diversas casas podem ser construídas, seguindo esse modelo Nesse sentido, casas construídas seguindo esse modelo são diferentes Elas possuem características diferentes (localizações, endereços, móveis, habitadas por pessoas diferentes, etc.) 16

17 Classes 17

18 Classes Uma vez que uma classe é definida, múltiplos objetos podem ser criados Por exemplo, podemos definir uma classe para representar o conceito de uma conta bancária e criar múltiplas objetos que representam contas bancárias específicas e individuais Cada conta bancária manteria, por exemplo, seu próprio saldo 18

19 Classes Múltiplos objetos podem ser criados a partir da mesma classe 19

20 Encapsulamento Um objeto deve ser ENCAPSULADO, o que significa que ele protege e gerencia suas próprias informações Ou seja, um objeto deve ser autogerenciável Mudanças no seu estado só podem ser realizadas pelos seus próprios métodos Nenhum outro objeto pode alterar o seu estado 20

21 Encapsulamento Um objeto pode, então, ser visto como uma caixa preta, onde os detalhes internos são escondidos dos clientes Clientes acessam o estado do objeto, através dos métodos oferecidos 21

22 Herança Classes podem ser criadas a partir da definição de outras classes existentes, através do conceito de HERANÇA O conceito de HERANÇA é uma forma de REUSO DE SOFTWARE que captura as diversas similaridades entre os diversos tipos de classes que podemos e queremos criar Uma classe pode ser usada para derivar diversas novas classes Classes derivadas podem então ser usadas para derivar ainda mais classes 22

23 Herança Assim, através da HERANÇA, podemos criar uma hierarquia de classes, onde os atributos e métodos definidos em uma classe são HERDADOS pelos seus filhos que, por sua vez, podem também ser passados para seus filhos e assim por diante Por exemplo: Podemos criar uma hierarquia de classes que representa diversos tipos de contas bancárias Características comuns são definidas em classes de nível mais alto e diferenças específicas são definidas em classes derivadas 23

24 Herança Animal Réptil Pássaro Mamífero Cobra Lagarto Papagaio Cavalo Morcego 24

25 Herança Objeto do tipo Banco tem vários objetos do tipo Conta Conta é sub-classe de Banco, ou seja, Conta herda de Banco 25

26 Herança Por sua vez, a classe Poupança é uma versão especializada da classe Conta Métodos e atributos são herdados 26

27 Polimorfismo POLIMORFISMO é um conceito baseado na idéia de que podemos referenciar múltiplos objetos relacionados, através do conceito de HERANÇA, de múltiplas formas Assim, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam Um mesmo método pode ser definido de várias formas, dependendo do seu contexto Isso nos dá a possibilidade de projetar soluções poderosas e eficientes para problemas que lidam com múltiplos objetos 27

28 Princípios da OO Em síntese: Todos esses conceitos devem ser MUITO BEM compreendidos para a criação de implementações eficientes, dentro do paradigma OO 28

29 Criando Programas para Resolver Problemas Em geral, a resolução de problemas consiste nas seguintes etapas: 1. Compreendendo o problema 2. Projetando a solução 3. Considerando alternativas para a solução e refinando a solução 4. Implementando a solução 5. Testando a solução e resolvendo quaisquer problemas que ocorram Essas atividades, não necessariamente, são lineares Normalmente, elas se sobrepõem 29

30 Criando Programas para Resolver Problemas 1. Compreendendo o problema Embora óbvio, a falta de atenção nessa etapa leva o software ao fracasso Cada problema possui um domínio específico As peculiaridades do mundo real que são a chave para a solução do problema Assim, para desenvolver uma boa solução, deve-se entender completamente o domínio do problema Exemplo: Um programa para calcular a pontuação de um jogo de boliche O domínio do problema são as regras do jogo 30

31 Criando Programas para Resolver Problemas 2. Projetando a solução O segredo para projetar bem uma solução é quebrá-la em parte, ou seja, dividir para conquistar Raramente, uma solução pode ser desenvolvida através de uma única tarefa A solução deve consistir de uma série de tarefas pequenas que interagem, na execução de uma tarefa maior No desenvolvimento de software, não devemos escrever um grande programa Devemos projetar partes separadas que são responsáveis por certas partes da solução Em seguida, integrar essas partes com outras, constituindo a solução final 31

32 Criando Programas para Resolver Problemas 3. Considerando alternativas para a solução e refinando a solução Nem sempre, nossa primeira solução para um problema é a melhor Precisamos, então, considerar alternativas e refinar a solução quando necessário Quanto mais cedo consideramos essas alternativas, mas fácil fica a modificação da nossa abordagem no desenvolvimento da solução 32

33 Criando Programas para Resolver Problemas 4. Implementando a solução Consiste, exatamente, em considerar o projeto do software e a alternativa encontrada, e codificá-la (escrever o programa) 5. Testando a solução e resolvendo quaisquer problemas que ocorram Em diversos momentos do processo de desenvolvimento, devemos testar nossa solução para encontrar erros e resolvê-los O teste não elimina todos os tipos de problemas Porém, aumenta a confiança da nossa solução 33

34 Usando a OO para Desenvolver Programas O conceito de Orientação a Objetos é independente da linguagem de programação 34

35 Usando a OO para Desenvolver Programas 35

36 Usando a OO para Desenvolver Programas Portanto, um programa (módulo) acessa serviços fornecidos por outro programa (módulo) através da API (Application Program Interface) desse último O programador inclui chamadas aos serviços da API dentro do código do programa O que importa é a interface da API, ou seja, quais são os serviços oferecidos e como podemos utilizá-los 36

37 Usando a OO para Desenvolver Programas O conceito de API está presente em qualquer ambiente de programação e é independente da OO 37

38 Usando a OO para Desenvolver Programas As API, por sua vez, são organizadas (estruturadas) em pacotes Pacote é uma entidade que agrupa classes logicamente relacionadas Funciona como uma espécie de biblioteca Evita conflitos de nomes de classes 38

39 Usando a OO para Desenvolver Programas Neste curso, usaremos a API padrão do JDK Ela cobre todas as bibliotecas de classes da plataforma Java, usadas para construir programas Ela é bastante extensa, o que a torna complexa de entendimento para programadores iniciantes 39

40 Usando a OO para Desenvolver A API do JDK: Programas 40

41 DÚVIDAS...

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1

Introdução à Programação Orientada a Objetos. Prof. Leonardo Barreto Campos 1 Introdução à Programação Orientada a Objetos Prof. Leonardo Barreto Campos 1 Sumário O que é um programa? Modelo; Programação Orientada a Objetos; Exemplo; Encapsulamento; Bibliografia. Prof. Leonardo

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

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos) Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem

Leia mais

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior

Programação Orientada a Objetos. Prof. MsC Sílvio Bacalá Júnior Programação Orientada a Objetos Prof. MsC Sílvio Bacalá Júnior Princípios básicos de OO Abstração Encapsulamento Modularidade Herança 2013 POO - Bacalá 2 Abstração Concentração nas características essenciais,

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-6 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

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

2. Introdução à Programação e Análise. Orientada a Objetos

2. Introdução à Programação e Análise. Orientada a Objetos Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. Introdução

Leia mais

Programação Orientada a Objetos em Python

Programação Orientada a Objetos em Python Programação Orientada a Objetos em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa

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 Pacotes Pacotes são um modo de organizar classes e interfaces Um programa pode ser formado por centenas de classes individiduais;

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

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

Introdução. Lições da década de 80. Realidade atual

Introdução. Lições da década de 80. Realidade atual Introdução No final da década de 60 surge a disciplina Engenharia de software para atacar os problemas gerados pela Crise do software. Porém as várias técnicas desenvolvidas nos anos 70 e 80 não resolveram

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no

Leia mais

Televisao tamanho tela emitirsom. conectarperifericos

Televisao tamanho tela emitirsom. conectarperifericos 1 - Introdução a Programação Orientada a Objeto Para tentar solucionar o problema do baixo reaproveitamento de código, surgiu a idéia da Programação Orientada a Objeto (POO). A POO não é nova, sua formulação

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

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa

Leia mais

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo. 1-Introdução à Programação Orientada a Objetos 1.1. O que é programação orientada a objetos? Programação orientada a objetos é uma metodologia de desenvolvimento de software. Sua principal vantagem é a

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 3] [Aula 01] [Gustavo Yoshio Maruyama]

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] [Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] Objetivos Revisar conceitos de Orientação a Objetos Classes Objetos Encapsulamento Herança Sobrescrita de métodos Sobrecarga de métodos

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

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

Introdução à Programação. Encapsulamento e Herança

Introdução à Programação. Encapsulamento e Herança Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância

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

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 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

Programação Orientada a Objetos

Programação Orientada a Objetos PMR2300 Escola Politécnica da Universidade de São Paulo Proposta O mundo real é composto de entidades que interagem entre si para realizar tarefas (objetos). Objetos podem representar entidades concretas

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto

Leia mais

Programação por Objectos Introdução. Introdução 1/18

Programação por Objectos Introdução. Introdução 1/18 Programação por Objectos Introdução LEEC@IST Introdução 1/18 História (1) [60s] Simula-67, Dahl e Nygaard da Univ. de Oslo Primeira linguagem com conceitos OO. [70s] Smalltalk, da Xerox Primeira implementação

Leia mais

ORIENTAÇÃO A OBJETOS Histórico:

ORIENTAÇÃO A OBJETOS Histórico: GESTÃO DE TECNOLOGIA DA INFORMAÇÃO Anhanguera Itapecerica da Serra Curso: Gestão da Tecnologia da Informação Disciplina: Modelagem de Sistemas Prof. Luiz Antonio do Nascimento Histórico: A orientação a

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

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

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural

Leia mais

Orientação a objetos. Objetos ou Instâncias I

Orientação a objetos. Objetos ou Instâncias I Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

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

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

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

Conceitos de Orientação a Objetos

Conceitos de Orientação a Objetos Conceitos de Orientação a Objetos I. Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava alguns conceitos da

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

Lista de Exercícios AV1

Lista de Exercícios AV1 Seminários Engenharia Integrados de Usabilidade em Sistemas de Informação SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Lista de Exercícios AV1 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão

Leia mais

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão   Site: Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br Fundamentos da Programação Orientada a Objetos A Orientação a Objetos é uma tecnologia que enxerga os sistemas como sendo coleção

Leia mais

Engenharia de Software Projeto de software

Engenharia de Software Projeto de software Instituto Federal de Minas Gerais Campus Ponte Nova Engenharia de Software Projeto de software Professor: Saulo Henrique Cabral Silva MODELANDO UM SOFTWARE 2 Uma figura vale por mil palavras Em construções

Leia mais

Os princípios do desenho orientado a objetos

Os princípios do desenho orientado a objetos Os princípios do desenho orientado a objetos Os princípios do desenho orientado a objetos Encapsulamento e congeneridade Domínios, grau de dependência e coesão Os perigos da herança e do polimorfismo Encapsulamento

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

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Introdução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos

Introdução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos Introdução Programação Orientada a Objetos (POO) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Avaliações Continuada: Resolução de Atividades Práticas em Sala; Resolução de Lista de Exercícios; Provas

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

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

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

Orientação a objetos Disciplina: Linguagens de Programação. Prof. Alexandre Cassimiro Andreani

Orientação a objetos Disciplina: Linguagens de Programação. Prof. Alexandre Cassimiro Andreani Orientação a objetos Disciplina: Linguagens de Programação Prof. Alexandre Cassimiro Andreani Sumário 1 Objetivo...3 2 Origem da programação orientada a objetos...4 2.1 Exercícios...4 3 Classes e Objetos...6

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Arquitetura de Software visão emergente

Arquitetura de Software visão emergente Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais

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

Programação Estruturada Orientada a Objetos

Programação Estruturada Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A

Leia mais

PDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno

PDS Aula 1.2 Introdução a Java, POO e Composição. Prof. Bruno Moreno PDS Aula 1.2 Introdução a Java, POO e Composição Prof. Bruno Moreno bruno.moreno@ifrn.edu.br JAVA: Introdução, Histórico, Conceitos Básicos 2 Introdução O que é Java? Linguagem de programação OO Década

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

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc. Análise Estruturada Modelo Essencial ou Lógico constitui-se de dois sub-modelos (Modelo Ambiental e Modelo Comportamental) e um Dicionário de Dados. Linguagens: Fortran, Cobol, C, etc. Orientada a Objetos

Leia mais

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos: Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

Aplicação Prática de Classes e Objetos JAVA

Aplicação Prática de Classes e Objetos JAVA Aplicação Prática de Classes e Objetos JAVA Aplicação BANCO Vamos desenvolver uma aplicação para gerir as tarefas do quotidiano de um banco. Entidades envolvidas: Clientes Funcionários Agências Contas

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes, Atributos e Métodos Msc. Paulo de Tarso F. Júnior 1 Introdução Programas eram lineares e com poucos módulos: PE Programação Estruturada Aumento da complexidade

Leia mais

Conceitos Básicos. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP

Conceitos Básicos. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP SCC0504 Programação Orientada a Objetos Conceitos Básicos Luiz Eduardo Virgilio da Silva ICMC, USP Material baseado nos slides dos professores: Fernando V. Paulovich (ICMC/USP) Clever G. Farias (FFCLRP/USP)

Leia mais

2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos?

2. Introdução à Programação e Análise. Orientada a Objetos. Programação Orientada a Objetos em C O que é a Programação Orientada a Objetos? Programação Orientada a Objetos em C++ Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br 2. Introdução à Programação e Análise.......... Orientada a Objetos 2.1. O que

Leia mais

Introdução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos

Introdução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos Introdução à Programação Orientada a Objetos O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens de programação, que seguem diferentes paradigmas. Um desses paradigmas

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

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

UNIFEI Disciplina Professor

UNIFEI Disciplina Professor UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO02 Enganharia de Software II Enzo Seraphim Nota de aula de Java Encapsulamento

Leia mais

Linguagens de Programação Aula 12

Linguagens de Programação Aula 12 Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução

Leia mais

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

Introdução a Programação Orientada a Objetos Introdução a Programação Orientada a Objetos Fernando de Simas, Airton de Souza, Sérgio Roberto Centro de Ciências Tecnológicas da Terra e do Mar Universidade do Vale do Itajaí UNIVALI. 88302-202 Itajaí

Leia mais

Tipos Abstratos de Dados

Tipos Abstratos de Dados Tipos Abstratos de Dados Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Definição de Tipos Abstratos de Dados Exemplos de TADs Implementação de TADs Implementação em C Exemplo

Leia mais

Panorâmica da Programação Orientada a Objetos

Panorâmica da Programação Orientada a Objetos Panorâmica da Programação Orientada a Objetos Programação orientada a objetos (POO) é uma das maiores inovações na área de desenvolvimento de software. É importante você entender a POO e limitações das

Leia mais

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método Conceitos de Orientação a Objetos Objeto Atributo Classe Método Objeto Tudo em Orientação Objeto é OBJETO Objeto, no mundo físico, é tipicamente um produtor e consumidor de itens de informação máquina,

Leia mais

Academia Java IP JAVA: Introdução à Programação em Java (30 horas)

Academia Java IP JAVA: Introdução à Programação em Java (30 horas) Academia Java IP JAVA: Introdução à Programação em Java (30 horas) Índice Designação do Curso... 2 Duração Total... 2 Destinatários... 2 Perfil de saída... 2 Pré-Requisitos... 2 Objetivo Geral... 2 Objetivos

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

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

PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos Iniciais

PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos Iniciais PROGRAMAÇÃO ORIENTADA A OBJETOS: Conceitos Iniciais Contexto desenvolvimento de sistemas Modelagem e o gap semântico Pai, de onde vêm os bebês? De onde vêm os objetos? Abstração Instanciação Classe: A

Leia mais

Orientação a Objetos Básica

Orientação a Objetos Básica Orientação a Objetos Básica Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos

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

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Introdução ao POO (Projeto Orientado a Objetos)

Introdução ao POO (Projeto Orientado a Objetos) Introdução ao POO (Projeto Orientado a Objetos) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta

Leia mais

O PARADIGMA ORIENTADO POR OBJETOS

O PARADIGMA ORIENTADO POR OBJETOS O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos

Leia mais

Aula II Orientação a Objetos. Pedro Baesse Alves Pereira

Aula II Orientação a Objetos. Pedro Baesse Alves Pereira Aula II Orientação a Objetos Pedro Baesse Alves Pereira pbaesse@ifrn.edu.br Programação Orientada a Objetos x Estruturada Origem Conceito Objetos Atributos Métodos Classes Herança Visibilidade Exercícios

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

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos

Leia mais

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU Aula 3 POO 1 Classe e Objeto Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Análise e Projeto de Software Parte II. Marcos Dósea

Análise e Projeto de Software Parte II. Marcos Dósea Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?

Leia mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela

Leia mais

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina:

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina: Estruturas de Dados Prof.: Carlos Alberto Página da Disciplina: http://alged.webnode.com/ E-mail: carlos36_batista@yahoo.com.br Estruturas de dados Programa da disciplina Estruturas de dados - referências

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Objetivo: Como programar em C++, uma linguagem de programação que suporta Programação Orientada a Objetos Maria da Graça Brasil Rocha Programação de Computadores 1 Introdução!

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 03

Levantamento, Análise e Gestão Requisitos. Aula 03 Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento

Leia mais

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos

Informática. Professor: Diego Oliveira. Conteúdo 04: Orientação a Objetos Informática Professor: Diego Oliveira Conteúdo 04: Orientação a Objetos Conteúdo da Aula Introdução à Programação Orientada a Objetos Linguagem Java Classes Objetos Atributos Métodos e Construtores Parâmetros

Leia mais