Programação Orientada Para Objetos. Professor Willer Gomes Júnior

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

Capítulo 2. Orientação a Objetos

Requisitos de sistemas

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

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Programação Orientada a Objetos

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

Programação Orientada a Objetos

Orientação a Objetos (OO)

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?

Sumário. BD Orientado a Objetos

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

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

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

Análise e Projeto de Sistemas

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

Prof: Ricardo Quintão Site:

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

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

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

UML. Diagrama de Classe

Plano de Trabalho Docente Ensino Técnico

Unidade IV MODELAGEM DE. Prof. Daniel Arthur Gennari Junior

Programação Orientada a Objetos

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

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

PLATÃO E A REPÚBLICA. Prof. Elson Junior. Santo Antônio de Pádua, março de 2017

Complexidade do Software

Herança Tiago Eugenio de Melo

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

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

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

Introdução à Orientação a Objetos

Engenharia de Software Projeto de software

Introdução à Modelagem Conceitual 1. Conceitos Básicos

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

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

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

1-Para atender as necessidades de informação de uma biblioteca universitária foi

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 Histórico:

Plano de Trabalho Docente Ensino Técnico

ACH2002. Orientação a Objetos

Conceitos de Programação Orientada a Objetos

Unidade: sobrecarga, construtores e herança

Conceitos de Programação Orientada a Objetos

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

O PARADIGMA ORIENTADO POR OBJETOS

COMPORTAMENTOS - Observações

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

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

FILOSOFIA E OS PRÉ-SOCRÁTICOS TERCEIRÃO COLÉGIO DRUMMOND 2017 PROF. DOUGLAS PHILIP

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

DISCIPLINA: Programação de Computadores II

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

Daniel Wildt

MATÉRIA DA DISCIPLINA ÉTICA E CIDADANIA APLICADA AO DIREITO I

Classes e Objetos. Sintaxe de classe em Java

UML Diagrama de Classes

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

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

Programação Orientada a Objetos

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

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

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Alguns Exercícios Resolvidos

UML (Unified Modelling Language)

E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O

Programação Orientada a Objetos JAVA - NETBEANS

Fundamentos de Orientação à objetos

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

Projeto de Desenvolvimento de Software

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

O Paradigma Orientado a Objetos

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Programação II. Cassio Diego

Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos

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

Análise e Projeto de Sistemas I

Conceitos de Orientação a Objetos

LÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz

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

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

Laboratório de programação II

Programação Orientada a Objetos

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

Engenharia de Software II e III - Material para estudo Diagrama de Classe

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Desenvolvimento de Aplicações Desktop

SFS Simple Feature SQL

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

INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica)

Análise Clássica (Tradicional) X Análise Estruturada

Laboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

O ETERNAMENTE VERDADEIRO, ETERNAMENTE BELO E ETERNAMENTE BOM

Visibilidade e Encapsulamento

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

Plano de Aula - Lógica de Programação - cód Horas/Aula

CURSO TÉCNICO DE INFORMÁTICA Módulo C ORIENTAÇÃO À OBJETO. Conceitos

Transcrição:

Programação Orientada Para Objetos Professor Willer Gomes Júnior

Objetivo Definir classes e objetos

O mundo das ideias Antes de Platão (427-347 a.c.), Empédocles (494-434 a.c.) e Demóclito (460-370 a.c.) Tudo fluia exceto o átomo

O mundo das ideias Platão Tudo o que podemos tocar e sentir flui Não existe portando elemento Básico, no mundo dos sentidos, que não se desintegre com a corrosão do tempo

O mundo das ideias Por outro lado Tudo é formado por uma coisa eterna e imutável

O mundo das ideias Exemplificando Num conjunto de cavalos não existem cavalos exatamente iguais Um exemplar de cavalo flui, fica manco e morre A verdadeira forma de cavalo é eterna e imutável

O mundo das ideias Uma padaria faz broas em formato de anoezinhos É visivel que todos eles tem defeitos Mas foram assados na mesma fôrma

O mundo das ideias Platão ficou admirado com a semelhança entre todos os fenomenos da natureza Por cima ou Por tras de tudo ha um numero limitado de formas Que ele chamou de ideias

O mundo das ideias Por tras de todos os cavalos, porcos e homens Existe a ideia cavalo, a ideia porco e a ideia homem Daí uma padaria que se preze geralmente tem mais de uma forma, em forma de anoezinhos, porcos e homens Mas em uma fôrma apenas, podem se fazer diversos tipos de broa

Concluindo as ideias de Platão Para Platão a realidade era dividida em duas: O mundo dos sentidos Podemos ter um conhecimento aproximado e imperfeito devido aos nossos sentidos serem aproximados e imperfeitos Tudo flui => consequentemente => nada é para sempre As coisas simplesmente surgem e desaparecem O mundo das ideias Podemos ter um conhecimento seguro Não pode portanto ser conhecido a partir dos sentidos As ideias ou formas são imutáveis

O mundo das ideias Aristoteles (284-322 a.c.), discipulo de Platão, achou que Platão virou tudo de cabeça para baixo. Ele concordava que: um exemplar flui A forma do cavalo é eterna e imutável Portanto: A ideia ou forma só vieram depois da experiencia vivida A forma cavalo consiste nas caracteristicas do cavalo

O mundo das ideias Para Aristoteles forma é tudo aquilo que os cavalos tem em comum Assim a imagem da fôrma da broa perde a validade, pois as fôrmas das broas existem independentemente de cada broa em particular Ele não acreditava que na natureza existissem fôrmas deste tipo

O mundo das ideias Para Aristoteles as formas das coisas estão dentro das proprias coisas, são suas caracteristicas proprias Tambem não concordava com a ideia galinha vir antes da galinha, a ideia galinha são caracteristicas da galinha e portanto inseparáveis

O mundo das ideias Aristoteles => todas as ideias e pensamentos entram em nossa consciencia atraves da visao e audição Temos uma razao inata Temos a capacidade de inata de ordenar em diferentes grupos e classes E assim surgem os conceitos de pedra, planta, animal e homem

O mundo das ideias Aristoteles Quando reconhecemos coisas nos a ordenamos em grupos ou categorias. Quando vemos cavalos, os cavalos não são iguais, mas existem diversas coisas que são comuns aos cavalos Todas as coisas pertencem a diferentes grupos e subgrupos. Ex: Hermes é um ser vivo é um animal é um cachorro é um labrador é um labrador macho

Abstração e representação

Objetos Considere o dominio de uma casa Ela pode ser composta pelas seguintes entidades Willer Darci Duncan Gordinho Cissa O pai A mae O filho Um cachorro Uma cadela

Objetos Nela há tambem outros objetos como Comodos Moveis Loucas Decorações Sala, quarto, banheiros e etc Mesas, cadeiras e etc Xicaras, pratos, talheres e etc Quadros, tapetes e etc.

Outros são abstratos como endereço, estilo da casa (barroco, gótico, romano, colonial e etc) e valor (em unidade monetaria) Objetos Um objeto é cada das entidades identificaveis num dado dominio de aplicação Alguns são concretos como os exemplos anteriores

Objetos Agregação / decomposição Um objeto pode ser visto como um agregado de outros objetos (suas partes)

Objetos A relação entre uma casa e seus componentes pode ser lida como: Uma casa é composta por Uma casa é um agregado de Uma casa é decomposta em Visao todo => parte

Objetos Outra visão O endereço é parte da casa Os moveis são parte da casa

Objetos Na realidade é apenas uma mudança de perspectiva Todo => parte Parte => todo

Cardinalidade de uma relação Observe que a relação entre uma casa e seu endereço é uma relação de um para um Pois uma casa possui um único endereço Já a relação entre uma casa e seus comodos é de um para varios Pois uma casa pode ter varios comodos

Cardinalidade de uma relação Esta medida é chamada cardinalidade da relação e pode assumir valores como: 1:1 Um para um 1:2 Um para dois 1:n Um para n n:1 n para 1 n:n n para n

Hierarquia de agregação / decomposição Considere um endereço tipico Rua Coronel Marcelino, 107 - Bloco D Apt 102 Jaragua 31255-690 Belo Horizonte - MG

Hierarquia de agregação / decomposição Desta forma a nova visão de uma casa torna-se

Contextos de observação Dependendo do contexto, um endereço pode ser melhor tratado como um objeto monolitico, ou seja, como um todo; Dependendo ele ser melhor tratado pela identificação das partes.

Contextos de observação Uma pessoa pode ter dependendo do contexto várias perspectivas

Ações Um objeto pode ser descrito pela identificação de dois elementos básicos: Sua estrutura Nós já descrevemos em agregação / decomposição Seu comportamento Identificação das ações a ele inerentes

Ações Encapsulamento / ocultamento de informações Note que a estrutura interna de um video cassete está protegida por uma carcaça. Este encapsulamento previne manipulações incorretas do equipamento propiciando uma maior garantia da integridade ocultamento da estrutura interna E não impede que o equipamento seja utilizado

Ações A interface como o mundo exterior O usuario não precisa conhecer a estrutura interna e o funcionamento Ele é capaz de interagir É necessario apenas conhecer a interface de interação que o construtor disponibilizou

Classes Falando sobre objetos, nesta apresentação foram utilizados nomes como: Willer, Darci e Duncan => Pessoas que moram e, uma casa Gordinho e Cissa => dois caes que tambem moram na casa E varios outros objetos tipicos de uma casa: loucas, moveis, etc.

Classes Distinção entre classes e objetos Note: Cissa esta brincando com Duncan no Jardim Não há duvidas sobre a identidade Entretanto: O cao é o melhor amigo do homem Cao e homem estão sendo usadas para referenciar aqueles objetos que tem as caracteristicas de um cao e de um homem

Classes Observe que existe uma categorização (classificação) dos objetos formando grupos de objetos. Existem objetos que são xicaras, outros que são pessoas, outros que são cães e etc.

Classes Estas categorias (classes) agrupam os objetos com base em alguma propriedade comum a todos os objetos

Classes Hierarquia de especializacao / generalização Uma pessoa é um objeto Uma crianca é uma pessoa Um armario é um movel Note que é bem diferente da hierarquia de agregação/decomposicao

Classes Hierarquia de especializacao / generalização Nesta hierarquia as classes são bem mais especificas quanto mais abaixo elas aparecerem Ex: Classe: Louça Classes: Xicara, Prato, Copo e etc

Classes Hierarquia de especializacao / generalização A classe Xicara então é uma especialização uma subclasse de louça Numa visão oposta A classe Louça é uma generalização de Xicara Uma superclasse das classes Xicara, Prato e Copos

Classes Contextos de observação Dependendo do contexto, a especialização da classe pode ocorrer de várias formas

Classes Herança de propriedade

Classes Herança de propriedade

Classes Herança de propriedade

Classes Herança de propriedade

Exercicio 1. O que é um objeto? 2. O que é uma classe? 3. Qual a diferença entre as hierarquias de Agregação / Decomposição e de Especialização / Generalização? Exemplifique. 4. Explique o que é cardinalidade de uma relação. 5. O que é herança? 6. O que é Encapsulamento?

Referencia Programação Orientada a Objetos - http://www.inf.ufsc.br/poo/conceitos/index.html, acesso em 25/09/2009