Orientação a Objetos: Encapsulamento e Classificação

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Programação orientada a objetos
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Introdução aos conceitos fundamentais da orientação a objetos
Paulo Marques Hernâni Pedroso
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
Análise de Casos de Uso.
Prof. Thiago Pereira Rique
Interação entre objetos
Diagramas de Seqüência
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Uma linguagem de programação para o ambiente Virtuosi
Modelagem de Sistemas Alcides Calsavara.
Persistência de objetos em arquivo texto usando Java
Java: Pacotes e Modificadores de Visibilidade
Orientação a Objetos: Encapsulamento e Classificação
Identificação Única de Objetos Alcides Calsavara.
Exemplo: veículo, relógio, hodômetro, cronômetro
Introdução aos conceitos fundamentais da orientação a objetos
Linguagem Java Renata Araujo
Introdução à Programação
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Programação Básica em Java
Recursividade Inhaúma Neves Ferraz
DIAGRAMA DE ATIVIDADES
UML NO PROJETO DE COMPONENTES:
Linguagem de Programação II
Tipos de dados, valores literais e variáveis
ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999.
Auditoria de Segurança da Informação
Integração entre objetos
Programação orientada a objetos com Java
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Laboratório de Programação de Computadores I
Capítulo 9 Herança 1.
Fases do desenvolvimento de software UML
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Introdução a Programação JAVA
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem técnica de programação I Java – REVISÃO
Análise de Casos de Uso Alexandre Motnteiro.
Diagramas de Seqüência
Programação Orientada a Objetos com Java
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Salas de Matemática.
Atributos, Encapsulamento e Interface em Java
Entendendo as definições de classe
Tipos de Dados Paradigmas de Programação
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Os métodos equals() e hashCode()
Marcio de Carvalho Victorino
Programação orientada a objectos em C++
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Wagner Santos C. de Jesus
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Contagem Sequencial do Estoque
Classes Abstratas e Interface
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Transcrição da apresentação:

Orientação a Objetos: Encapsulamento e Classificação Alcides Calsavara Edson Scalabrin

Sistema Orientado a Objetos Um sistema orientado a objetos é uma coleção de objetos que interagem entre si. Um objeto interage com outro através de uma mensagem que causa um estímulo.

Interação entre Objetos

Objeto Um objeto possui um comportamento e um estado : o comportamento é a forma como reage a estímulos o estado modifica-se de acordo com o comportamento

Comportamento e Estado

Encapsulamento Separação dos aspectos externos de um objeto dos seus detalhes internos de implementação O estado de um objeto somente é acessível a partir da implementação de seu comportamento

Guarantia de Encapsulamento

Comportamento O comportamento de um objeto é definido por um conjunto de métodos Um estímulo causa a execução de um método Um estímulo pode ser uma invocação explícita de um método ou um evento relevante para o objeto

Execução de Métodos invocação evento e m ( ) m ( ) m ( )

Estado O estado de um objeto é composto por um conjunto de valores de atributos

Classe Uma classe descreve um conjunto de objetos: as instâncias da classe Uma classe descreve o comportamento e a composição do estado de todos os seus objetos Cada classe deve ter um nome distinto

Classes e Objetos

Tipos Um tipo pode ser primitivo ou uma classe Uma classe é um tipo abstrato de dados (ADT)

Tipos Primitivos em Java Os tipos primitivos incluem: números inteiros: byte, short, int, long números reais: float, double valores lógicos: boolean caracteres: char

Classes de Bibliotecas Exemplos: String Applet Button System

Método Cada método possui uma assinatura, um tipo de retorno (primitivo ou classe) e uma implementação A assinatura de um método é composta por um nome e uma lista de parâmetros Cada parâmetro tem um nome e um tipo (primitivo ou classe)

Atributo Cada atributo tem um nome e um tipo (primitivo ou classe) Um objeto que possui um atributo cujo tipo é uma classe é um objeto composto, pois contém outro objeto

Atributos em Classes e Objetos boolean b int k int x String s A B x =10 char[] v b=true k=7 s= v=Paris String

Visibilidade e Encapsulamento Um atributo deve preferencialmente ser qualificado como privado (private) Um método pode ser tanto qualificado como privado como público (public) O conjunto de métodos públicos de uma classe define a sua inteface

Estrutura de uma Classe Uma classe contém um conjunto de atributos e um conjunto de métodos os atributos devem ter nomes distintos os métodos devem ter assinaturas distintas Cada objeto possui um conjunto próprio de valores dos atributos e o conjunto de métodos da classe

Classe e Encapsulamento Os valores dos atributos de um objeto somente são acessíveis a partir dos seus métodos

Exemplo: veículo, relógio, hodômetro, cronômetro Um veículo possui um código, um hodômetro, um cronômetro e um relógio. O hodômetro registra a kilometragem do veículo, e pode ser zerado a qualquer momento. O hodômetro exibe a kilometragem atual e a média de kilômetros por segundo, desde o último instante em que foi zerado A kilometragem registrada pelo hodômetro avança a medida que o veículo avança.

Exemplo: veículo, relógio, hodômetro, cronômetro O cronômetro já fica ativo no momento da sua criação. O cronômetro pode ser parado e reativado a qualquer instante. O cronômetro exibe o número de milisegundos decorridos desde o instante da sua última ativação. O relógio exibe a hora atual, com precisão de minutos.

Representação de Objetos (usando UML) :Veículo :Hodometro codigo = 13 hodometro cronometro relogio kilometragem = 283 momentoZeragem relogio :Instante :Date T zere() kilometragemMedia() : double avance(distancia : int) exiba() Hodometro(r : Relogio) diferenca(i : Instante) : int digaHoras() : int digaMinutos() : int avance(distancia : int) exiba() comeceCronometro() pareCronometro() zereCronometro() zereHodometro() Veiculo(c : int) “main” :Cronometro :Instante :Date ativo = true momentoInicio momentoParada relogio T diferenca(i : Instante) : int digaHoras() : int digaMinutos() : int :Relogio comece() pare() exiba() Cronometro(r : Relogio) exiba() digaInstante() : Instante :Instante :Date T diferenca(i : Instante) : int digaHoras() : int digaMinutos() : int Representação de Objetos (usando UML)

Diagrama de Classes (usando UML) :Hodometro - kilometragem : int 0..1 + zere() - kilometragemMedia() : double + avance(distancia : int) + exiba() + Hodometro(r : Relogio) :Veículo momentoZeragem - codigo : int :Relogio :Instante :Date + exiba() + digaInstante() : Instante + diferenca(i : Instante) : int + digaHoras() : int + digaMinutos() : int + avance(distancia : int) + exiba() + comeceCronometro() + pareCronometro() + zereCronometro() + zereHodometro() + Veiculo(c : int) momentoInicio momentoParada :Cronometro - ativo : boolean 0..1 + comece() + pare() + exiba() + Cronometro(r : Relogio) 0..1 Diagrama de Classes (usando UML)