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



Documentos relacionados
Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Análise e Projeto Orientados por Objetos

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

ITIL v3 - Operação de Serviço - Parte 1

PCS LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA

Psicologia Social. É a área da Psicologia que procura estudar a interação social.

Programação Orientada a Objetos. Encapsulamento

Engenharia de Software II

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

DESENVOLVENDO O SISTEMA

Secretaria de Desenvolvimento Social e Direitos Humanos Secretaria Executiva de Desenvolvimento e Assistência Social Gerência de Planejamento,

AKNA SOFTWARE. Configurações. de DNS

Montagem e Manutenção. Luís Guilherme A. Pontes

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

Implementando uma Classe e Criando Objetos a partir dela

Gustavo Malavota Administrador Vendedor Palestrante Professor de Marketing

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Prof. Jhonatan Fernando

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Núcleo de Pós-Graduação Pitágoras Escola Satélite. Curso de Especialização em Engenharia de Segurança do Trabalho

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

REDES DE COMPUTADORES. Detecção e Correção de Erros

Assine e coloque seu número de inscrição no quadro abaixo. Preencha, com traços firmes, o espaço reservado a cada opção na folha de resposta.

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

POO Programação Orientada a Objetos. Classes em Java

Um mercado de oportunidades

Processos de gerenciamento de riscos. Planejamento Identificação Análise Resposta Monitoramento

PROGRAMAÇÃO ORIENTADA A OBJETOS

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Diagrama de Estrutura Composta

Fórum Setorial Permanente de Artes Cênicas de Florianópolis REGIMENTO INTERNO

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

CTIC - Centro de Pesquisa e Desenvolvimento em Tecnologias Digitais para Informação e Comunicação CHAMADA DE PROJETOS

Orientação a Objetos com Java

Gestão por Competências

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Sistemas Operacionais. Prof. André Y. Kusumoto

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

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

13/10/11 TIPOS DE UTILITÁRIOS UTILITÁRIOS 0798 INTRODUÇÃO À PROGRAMAÇÃO TIPOS DE UTILITÁRIOS TIPOS DE UTILITÁRIOS

PARECER DE AVALIAÇÃO Comitê de Seleção Edital 01/2010 Formulário Padrão Concorrência 2010 Data da avaliação: Projeto nº:

UNIVERSIDADE DO OESTE PAULISTA CURSO DE ZOOTECNIA. Regulamento do Estágio Supervisionado I e II

Curso: Diagnóstico Comunitário Participativo.

Recepção de novos servidores: orientações para gestores. DP, DDRH e PRODIRH UFG/2015

Análise e Projeto de Software

EDUCAÇÃO PARA O TRÂNSITO

Tabelas vista de estrutura

Linguagem de Programação I. Orientação a Objetos em Java

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Psicossociologia do Trabalho. I didn t say that I didn t say it. I said that I didn t say that I said it. I Want to make that very clear

Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari.

Programação Orientada a Objetos (DPADF 0063)

AVALIAÇÃO DE DESEMPENHO

Programação Orientada a Objetos

RELAÇÕES DE GÊNERO E VIOLÊNCIA

REGULAMENTO DE ESTÁGIO OBRIGATÓRIO DO CURSO DE NUTRIÇÃO CURRÍCULO 2 I INTRODUÇÃO

Administração em Enfermagem Aula 1

Universidade Federal de Uberlândia Disciplina: POO2 Prof. Fabiano Dorça. Padrões de Projeto. Padrão Command

ÍNDICE PRIMEIRA PARTE A ARTE DA COMUNICAÇÃO

Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto.

PUC-Rio. Tópico 6: Diagrama de Sequência C E. Luiz Antônio M. Pereira. lpereira@uninet.com.br 1/41

Professor: Venicio Paulo Mourão Saldanha Site:

ISO 9001: SISTEMAS DE GESTÃO DA QUALIDADE

FUNDAÇÃO CULTURAL PLANALTO DE PASSO FUNDO Rádio Planalto AM / FM e Revista Somando

PORTARIA Nº 47 DE 20 DE AGOSTO DE 2007

Arquitetura dos Sistemas Operacionais

4.4. UML Diagramas de interacção

Gestão de Projetos com o uso do dotproject

Curso de Especialização Lato Sensu - Gestão em Saúde EaD. MATRIZ CURRICULAR. Módulo/1 - Módulo Básico Carga horária total: 270 Hs

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

PRODUTOS DO COMPONENTE Modelo de Gestão Organizacional Formulado e Regulamentado

PALAVRAS-CHAVE Lixo-eletrônico. Reciclagem. Tecnologia.

Capítulo II Modelos de Programação Distribuída

Tribunais Exercícios Gestão de Pessoas Atendimento Ao Público Keyvila Menezes

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Departamento de Informática

Engenharia de Software III

REDES DE COMPUTADORES

Orientação à Objetos. Aécio Costa

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

1 Introdução. 2 Funcionamento

Manual de Comunidades RIPALC

QUALQUER MOMENTO E LUGAR PROTEJA SEUS DADOS

Jornal Oficial da União Europeia L 141/5

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

GengScann Automação Comercial e Industrial. Soluções Inteligentes para Empilhadeiras

Fundamentos de Banco de Dados e Modelagem de Dados

ADMINISTRAÇÃO GERAL GESTÃO DO DESEMPENHO

Programa de Computador que funciona em Rede

Transcrição:

Introdução à Programação Orientada a Objetos Prof. Marcelo Cohen 1. Contextualizando o problema O que leva um programador a mudar do paradigma procedimental para um novo? A resposta esta na complexidade crescente dos sistemas e nas limitações da capacidade humana de compreensão de um sistema como um todo. Sistema complexo = conjunto grande e diverso de comportamentos tendo um longo ciclo de vida e muitos usuários dependendo dele. A complexidade está na quantidade e diversidade. 1

2. Orientação a Objetos Paradigma Paradigma é um conjunto de regras que estabelecem fronteiras e descrevem como resolver os problemas dentro destas fronteiras. Os paradigmas influenciam nossa percepção; ajudam-nos a organizar e a coordenar a maneira como olhamos para o mundo... Reengenharia - Reestruturando a Empresa Daniel Morris e Joel Brandon Como assim??? Em Ciência da Computação: Paradigmas explicam como os elementos que compõem um programa são organizados e como interagem entre si. 2

Orientação a Objetos Conceito No mundo real, tudo é objeto! Os objetos se relacionam entre si de diversas maneiras Orientação a Objetos Conceito (2) Um programa orientado a objetos é estruturado como uma comunidade de agentes que interagem entre si, denominados objetos. Cada objeto tem um papel a cumprir Cada objeto oferece um serviço ou realiza uma ação que é usada por outros membros da comunidade 3

Exemplo real: montagem de um computador Composto por vários componentes: placa-mãe CPU placa de vídeo disco rígido teclado, etc. Cada componente é bastante sofisticado, mas o usuário não precisa saber como funciona internamente. Cada componente é independente dos demais. Para quem está montando, interessa apenas como os componentes interagem entre si: a placa de vídeo encaixa no slot? O monitor funciona com essa placa? A CPU é compatível com a placa-mãe? Objeto - representação Operações / métodos / interface (público) Dados / propriedades / atributos (privado) 4

Exemplo: Lâmpada Operações: ligar desligar Dados: ligada (s/n) potência voltagem Encapsulamento (data hiding) É definido como uma técnica para minimizar as interdependências entre módulos, através da definição de interfaces externas. Caixa preta - não é necessário saber como funciona internamente, mas sim como utilizar. 5

Encapsulamento A interface (pública) de um objeto declara todas as operações permitidas (métodos) Todo o acesso aos dados é feito através da chamada a um método definido pelo objeto Mudanças na implementação interna do objeto (que preservem a sua interface externa) não afetam o resto do sistema Encapsulamento - benefícios Segurança: protege os objetos de terem seus atributos corrompidos por outros objetos. Independência: escondendo seus atributos, um objeto protege outros de complicações de dependência da sua estrutura interna. 6

Mensagens Objetos interagem e se comunicam através de mensagens... Receptor (servidor) Emissor (cliente) Métodos...as mensagens identificam os métodos a serem executados no objeto receptor. 7

Mensagens e Métodos Para invocar um método, deve-se enviar uma mensagem para o objeto desejado Para enviar uma mensagem, deve-se identificar o objeto que receberá a mensagem identificar o método que o objeto deverá executar passar os argumentos requeridos pelo método Abstração Focalizar o essencial, ignorar propriedades acidentais AERONAVE 8

Classes Uma classe determina um conjunto de objetos com: propriedades semelhantes comportamentos semelhantes relacionamentos comuns com outros objetos Objetos ou instâncias classificação instanciação Classe Lamp Atributos ligada potência voltagem Métodos ligar desligar Classe: uma fábrica de objetos Classe Lamp Lamp 3 Lamp 1 Lamp 2 Objetos ou instâncias da classe Lamp 9

Código da Classe Lamp import java.lang.*; class Lamp { private int potencia; private int voltagem; private boolean ligada; public Lamp(int pot,int volt){ potencia = pot; voltagem = volt; public void ligar { ligada = true; public void desligar { Código da Classe Lamp import java.lang.*; class Lamp { private int potencia; private int voltagem; private boolean ligada; public Lamp(int pot,int volt){ potencia = pot; voltagem = volt; Dados / atributos public void ligar { ligada = true; public void desligar { 10

Código da Classe Lamp import java.lang.*; class Lamp { private int potencia; private int voltagem; private boolean ligada; public Lamp(int pot,int volt){ potencia = pot; voltagem = volt; public void ligar { ligada = true; Operações / métodos public void desligar { 11