Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos



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

Análise e Projeto Orientados por Objetos

Técnicas de Programação II

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

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

Profº. Enrique Pimentel Leite de Oliveira

Programação Orientada a Objetos em Java

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos

Orientação a Objetos com Java

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

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

PROGRAMAÇÃO ORIENTADA A OBJETOS

Orientação à Objetos. Aécio Costa

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

Programação Orientada a Objetos

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

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

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

Orientação a Objetos

Roteiro do Programa e Entrada/Saída

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Introdução a Java. Hélder Nunes

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

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

Questões de Concursos Públicos sobre Orientação a Objetos e UML

Linguagem de Programação II

UML Aspectos de projetos em Diagramas de classes

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

ProgramaTchê Programação OO com PHP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Computação II Orientação a Objetos

Implementando uma Classe e Criando Objetos a partir dela

Orientação a Objetos

Prof. Esp. Adriano Carvalho

UML Unified Modeling Language

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

3 Classes e instanciação de objectos (em Java)

Prof. Jhonatan Fernando

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

Desenvolvimento Web TCC Turma A-1 /

Noções sobre Objetos e Classes

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO

Análise e Projeto Orientados por Objetos

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

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

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Sistemas Distribuídos

Java. Marcio de Carvalho Victorino

Análise Orientada a Objetos

Programação Orientada a Objetos

Programação Avançada

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

2 Diagrama de Caso de Uso

FBV - Linguagem de Programação II. Um pouco sobre Java

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Programação Orientada a Objeto

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Herança. Alberto Costa Neto DComp - UFS

PHP INTRODUÇÃO CLASSES E OBJETOS

Programa do Módulo 2. Fundações do Modelo Objeto

Tema 1: Modelo Estático

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Tópicos em Engenharia de Computação

3. PARADIGMA ORIENTADO A OBJETOS

Aula 3 Objeto atual com referencia THIS e Classes com Herança

ANÁLISE ORIENTADA À OBJETO Conceitos do Paradigma de Orientação a Objetos

Python Orientação a Objetos Parte 1. Introdução à Programação SI1

Engenharia de Software III

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Curso Java Starter. 1

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Lição 9 Trabalhando com bibliotecas de classes

Programação com Acesso a BD. Programação com OO Acesso em Java

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Padrões de projeto 1

Micro Mídia Informática Fevereiro/2009

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Qualidade de Software

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

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

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

JSP - ORIENTADO A OBJETOS

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

PROGRAMANDO EM C# ORIENTADO A OBJETOS

1.6. Tratamento de Exceções

Aula 1 Tipo Abstrato de Dados

LINGUAGEM ORIENTADA A OBJETOS

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Java TM e o Modelo de Objetos

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Transcrição:

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Introdução à Orientação a Objetos

Introdução Paradigmas de programação Programação Estruturada Composição dos Programas: Um programa é composto por um conjunto de rocnas A funcionalidade do programa é separada em rocnas Os dados do programa são variáveis locais ou globais Fluxo de Execução: O programa tem início em uma rocna principal A rocna principal chama outras rocnas Estas rocnas podem chamar outras rocnas, sucessivamente Ao fim de uma rocna, o programa retorna para a chamadora 12/7/12 Programação de Computadores II 2

Programação Orientada a Objetos Composição do programa: A funcionalidade do programa é agrupada em objetos Os dados do programa são agrupados em objetos Os objetos agrupam dados e funções correlacionados Fluxo de Execução: Introdução Paradigmas de programação Similar ao anterior Os objetos colaboram entre si para a solução dos objecvos A colaboração se realiza através de chamadas de rocnas 12/7/12 Programação de Computadores II 3

Introdução Paradigmas de programação OO Encapsulamento Herança Polimorfismo Estruturada Seqüencia Decisão RepeCção 12/7/12 Programação de Computadores II 4

Introdução Objetos O ser humano se relaciona com o mundo através do conceito de objetos. Estamos sempre idencficando objetos ao nosso redor. Para isso: atribuímos nomes classificamos em grupos classes. 12/7/12 Programação de Computadores II 5

Introdução Objetos Definição Um objeto é a representação computacional de um elemento ou processo do mundo real Cada objeto possui um conjunto de caracterísccas e comportamentos 12/7/12 Programação de Computadores II 6

CaracterísIcas de um objeto Definição Uma caracteríscca descreve uma propriedade de um objeto, ou seja, algum elemento que descreva o objeto Exemplo de caracterísccas de um objeto idencficado como carro: Cor Marca Número de portas Ano de fabricação e Cpo de combus`vel 12/7/12 Programação de Computadores II 7

Comportamento de um objeto Definição: Um comportamento representa uma ação ou resposta de um objeto a uma ação do mundo real. Exemplos de comportamento para o objeto carro Acelerar Parar Andar Estacionar 12/7/12 Programação de Computadores II 8

CaracterísIcas e comportamentos de objetos Exemplos: ü Cachorros caracterísccas: nome, cor, raça comportamentos: lacr, correr ü Bicicletas caracterísccas: marcha atual, velocidade atual comportamentos: trocar marcha, aplicar freios 12/7/12 Programação de Computadores II 9

Mapeamento entre objetos reais e computacionais Objeto no Mundo Real Objeto Computacional CaracterísCcas Atributos Comportamento Métodos 12/7/12 Programação de Computadores II 10

Introdução Conceitos 12/7/12 Programação de Computadores II 11

IdenIficação IdenCficar as caracterísccas e o comportamento de objetos do mundo real é o primeiro passo da programação OO. Observe um objeto e pergunte: 1. Quais os possíveis caracterísccas deste objeto e quais estados elas assumem? 2. Quais comportamentos (ações) que ele pode executar? 12/7/12 Programação de Computadores II 12

Introdução Conceitos 12/7/12 Programação de Computadores II 13

Classes Objetos não são considerados isoladamente Um processo natural é idencficar caracterísccas e comportamentos semelhantes entre objetos Objetos com caracterísccas e comportamentos semelhantes são agrupados em classes 12/7/12 Programação de Computadores II 14

Classes A unidade fundamental em programação em orientação a objetos (POO) é a classe. Classes contém: ü Atributos: determinam o estado do objeto; ü Métodos: semelhantes a procedimentos em linguagens convencionais, são uclizados para manipular os atributos. 12/7/12 Programação de Computadores II 15

Classes Anda Para Acelera Estaciona Carro Número de Rodas Cor Cor Lateral 12/7/12 Programação de Computadores II 16

Classes Nome Matrícula Nota Média Aluno João 193.31.098-7 7,6 Maria 195.31.022-5 8,7 12/7/12 Programação de Computadores II 17

Classes As classes proveem a estrutura para a construção de objetos - estes são ditos instâncias das classes atributos métodos Nome Matrícula Nota Média Classe Aluno setnome(nome) getnome()... Instâncias João 193.31.098-7 7,6 Maria 195.31.022-5 8,7 12/7/12 Programação de Computadores II 18

Objetos campos (atributos) métodos Classe Bicicleta Marcha Velocidade mudarmarcha() mudarvelocidade()... Instâncias Bicicleta A 3ª 20 km/h Bicicleta B 7ª 35 km/h 12/7/12 Programação de Computadores II 19

Objetos como instâncias de classes Um objeto é uma instância de uma única classe. Uma instância de um objeto é uma unidade de programação que é armazenada em uma variável. Um programa orientado a objetos é composto por um conjunto de objetos que interagem entre si. 12/7/12 Programação de Computadores II 20

Colaboração entre objetos Um programa OO é um conjunto de objetos que colaboram entre si para a solução de um problema Objetos colaboram através de trocas de mensagens A troca de mensagem representa a chamada de um método Carro Freia Motorista 12/7/12 Programação de Computadores II 21

Mensagens Um envio de mensagem sempre possui: Um emissor Um receptor Um seletor de mensagens (nome do método chamado) Parâmetros (opcionais) Uma mensagem pode retornar um valor 12/7/12 Programação de Computadores II 22

Objetos Métodos operam no estado interno de um objeto e servem como mecanismo de comunicação entre objetos. João 30 anos João mudarmarcha Bibicleta B 7º 35 km/h 12/7/12 Programação de Computadores II 23

Classes em Java Qualificador_de_acesso class Nome_Da_Classe { } // atributos da classe // métodos da classe // Class Lampada public class Lampada { // Atributos boolean acesa; // Class Bicicleta class Bicicleta { // Atributos int velocidade = 0; int marcha = 1; } // Métodos public void ligar() { acesa = true; } public void desligar() { acesa = false; } } // Métodos void mudarmarcha(int novovalor) { marcha= novovalor; } Void aumentavelocidade(int incremento) { velocidade+= incremento; } 12/7/12 Programação de Computadores II 24

Criando Objetos em Java Para instanciarmos um novo objeto devemos uclizar o operador new, como nos exemplos abaixo: NomeDaClasse nomedoobjeto = new NomeDaClasse(); ü ü Criando dois objetos bicicleta: Bicicleta bicicleta1 = new Bicicleta(); Bicicleta bicicleta2 = new Bicicleta(); Invocando seus métodos: bicicleta1.mudarmarcha(2); bicicleta2.aumentavelocidade(5); 12/7/12 Programação de Computadores II 25

Resumindo... A classe provê a estrutura para a construção de objetos. Um objeto é uma instância de uma classe. Contém um estado (valores de seus atributos). Expõe o seu comportamento através de métodos (funções). 12/7/12 Programação de Computadores II 26

Introdução Conceitos 12/7/12 Programação de Computadores II 27

Encapsulamento É um princípio fundamental da OO: Esconder o estado interno (valores dos atributos). Obrigar que interações com os atributos sejam executadas através de métodos. Com o encapsulamento um objeto determina a permissão que outros objetos terão para acessar seus atributos (estado). 12/7/12 Programação de Computadores II 28

Encapsulamento Definição É a uclização de técnicas de programação e mecanismos de linguagem de programação para agrupar e restringir acesso à atributos métodos e classes ObjeCvo: Reduzir a complexidade externa (interface) das classes Preservar a integridade dos dados internos dos objetos 12/7/12 Programação de Computadores II 29

Tipos de encapsulamento Encapsulamento de atributos: métodos de acesso Encapsulamento de métodos: classes Encapsulamento de classes: pacotes 12/7/12 Programação de Computadores II 30

Encapsulamento de Dados Atributos e Métodos Os métodos formam uma cerca em torno dos atributos Os atributos não podem ser manipulados diretamente Os atributos somente podem ser alterados ou consultados através dos métodos do objeto 12/7/12 Programação de Computadores II 31

Encapsulamento de Dados Pessoa - nome: String - idade: int Proteger os atributos +definirnome(nome: S]ng): void +retornarnome(): String +definiridade(idade: int): void +retornaridade(): int... Permitir acesso aos atributos através dos métodos 12/7/12 Programação de Computadores II 32

Encapsulamento de Dados. Um objeto X é denominado cliente de um objeto Y se ucliza métodos de Y Pelo encapsulamento: Clientes de um objeto podem uclizar seus métodos sem conhecer os detalhes de sua implementação A implementação de um objeto pode ser alterada sem o conhecimento de seus clientes, desde que a interface visível seja mancda 12/7/12 Programação de Computadores II 33

Encapsulamento de Dados Interface Visível Pedido de Serviço Implementação 12/7/12 Programação de Computadores II 34