O Paradigma de Orientação a Objetos

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Introdução a Programação Orientada a Objetos
Princípios da Orientação a Objetos e a Linguagem UML
Engenharia de Software
UML Modelando um sistema.
Princípios de Análise e Projeto de Sistemas com UML 2ª edição
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Análise e Projeto de Sistemas
Análise Orientada a Objetos
Modelagem Orientada a Objetos
Introdução a Bancos de Dados
Introdução ao paradigma de programação: Orientado a Objetos
Noções Básicas de Modelagem
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Diagramas de Classes.
Linguagem de Programação II
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Orientação Objeto Marcely Dias
Modelagem de Interações
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Orientação a Objetos.
TÉCNICAS DE PROGRAMAÇÃO II
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Análise Orientada a Objetos
Princípios de Orientação à Objetos
Diagrama de Classes e Colaboração
PROGRAMAÇÃO ORIENTADA À OBJETOS
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Projeto de Banco de Dados
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Professor: Márcio Amador
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Orientação a Objetos Parte I
Marcio de Carvalho Victorino
Programação Orientada à Objetos
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Curso Técnico em Informática
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
SISTEMAS DISTRIBUIDOS Aula 4
PROGRAMAÇÃO ORIENTADA A OBJETOS
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Análise e Projeto de Sistemas
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Banco de dados 1 Modelagem de Dados Utilizando MER
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Introdução a Programação Orientada a Objetos
Introdução a Orientação a Objetos
20/04/2017 Orientação a Objetos 1 1.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Visão Geral de Orientação a Objetos com UML Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes OO e UML | 2 Objetivos.
Modelagem Entidade-Relacionamento (MER)
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Análise Orientada a Objetos Prof. Wolley W. Silva
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

O Paradigma de Orientação a Objetos Adélia Barros

Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual esse sistema é entendido e construído. A primeira abordagem usada para modelagem de sistemas de software foi o paradigma estruturado. Uso da técnica de decomposição funcional “divida sucessivamente um problema complexo em subproblemas”

O paradigma da orientação a objetos visualiza um sistema de software como uma coleção de agentes interconectados chamados objetos. Cada objeto é responsável por realizar tarefas específicas. É através da interação entre objetos que uma tarefa computacional é realizada.

Conceitos e Princípios da OO Abstração Classe Objeto Mensagem Princípios Encapsulamento Modularidade Polimorfismo Generalização (Herança) Composição

Abstração Abstração: É o mecanismo que nos permite representar uma realidade complexa em termos de um modelo simplificado. Processo de filtragem de detalhes sem importância do objeto, para que apenas as características apropriadas que o descrevem permaneçam.

Abstração

Abstração Três abstrações de um carro:

Classes, objetos e mensagens O mundo real é formado de coisas. Na terminologia de orientação a objetos, estas coisas do mundo real são denominadas objetos. Seres humanos costumam agrupar os objetos para entendê-los. A descrição de um grupo de objetos é denominada classe de objetos, ou simplesmente de classe.

Objetos Características Comportamento Estado Dados representam características São chamados atributos Comportamento Operações definem comportamento São os métodos de um objeto São as funções que são executadas em um objeto Estado Representado pelos valores dos atributos de um objeto Estado representa o resultado cumulativo de seu comportamento

Objetos Objetos possui atributos:

Objetos E os objetos possuem comportamento:

O que é uma classe? Uma classe é um molde para objetos. Diz-se que um objeto é uma instância de uma classe. Uma classe é uma abstração das características relevantes de um grupo de coisas do mundo real. Na maioria das vezes, um grupo de objetos do mundo real é muito complexo para que todas as suas características e comportamento sejam representados em uma classe. Representante Cliente Produto

Classes Classes:

Classes Classe é onde conceituamos o objeto É a essência do objeto Define os atributos e métodos Objeto é uma instância de uma classe Objetos semelhantes pertencem a mesma classe

Classes Classe Lampada Operações Atributos potencia (int), ligada(boolean) Operações ligar, desligar, estaLigada

Classe X Objeto Objetos são abstrações de entidades que existem no mundo real. Classes são definições estáticas, que possibilitam o entendimento de um grupo de objetos. CUIDADO: estes dois termos muitas vezes são usados indistintamente em textos sobre orientação a objetos.

Classe X Objeto Classes: Exemplos: Pessoa é uma CLASSE; João é um OBJETO (instância) da CLASSE Pessoa; Carro é uma CLASSE; Meu carro é um OBJETO da CLASSE Carro. Objetos similares são agrupados em classes.

Classes

Mensagens Para que um objeto realize alguma tarefa, deve haver um estímulo enviado a este objeto. Pense em um objeto como uma entidade ativa que representa uma abstração de algo do mundo real Então faz sentido dizer que tal objeto pode responder a estímulos a ele enviados Assim como faz sentido dizer que seres vivos reagem a estímulos que eles recebem.

Mensagens Independentemente da origem do estímulo, quando ele ocorre, diz-se que o objeto em questão está recebendo uma mensagem. Uma mensagem é uma requisição enviada de um objeto a outro para que este último realize alguma operação.

Mensagens Objetos de um sistema trocam mensagens isto significa que estes objetos estão enviando mensagens uns aos outros com o objetivo de realizar alguma tarefa dentro do sistema no qual eles estão inseridos.

Mensagens Após a execução, o controle volta para o objeto que enviou a mensagem.

Encapsulamento Objetos possuem comportamento. O termo comportamento diz respeito a que operações são realizadas por um objeto e também de que modo estas operações são executadas. De acordo com o encapsulamento, objetos devem “esconder” a sua complexidade...

Encapsulamento O encapsulamento é uma forma de restringir o acesso ao comportamento interno de um objeto Um objeto que precise da colaboração de outro para realizar alguma tarefa simplesmente envia uma mensagem a este último O método (maneira de fazer) que o objeto requisitado usa para realizar a tarefa não é conhecido dos objetos requisitantes

Máquina de Refrigerante em lata Encapsulamento Na terminologia da orientação a objetos, diz-se que um objeto possui uma interface A interface de um objeto é o que ele conhece e o que ele sabe fazer, sem descrever como o objeto conhece ou faz A interface de um objeto define os serviços que ele pode realizar e conseqüentemente as mensagens que ele recebe Máquina de Refrigerante em lata Coloque uma moeda Receba a Lata

Encapsulamento Uma interface pode ter várias formas de implementação Mas, pelo princípio do encapsulamento, a implementação utilizada por um objeto receptor de uma mensagem não importa para um objeto remetente da mesma

Encapsulamento Encapsulamento: Exemplos: Se a companhia telefônica mudar seus processos, você vai continuar usando o aparelho normalmente? A implementação de uma classe, pode ser alterada sem afetar a sua interface. Se um novo telefone for criado, como um telefone digital, a implementação interna foi alterada, mas a interface com o usuário permanece a mesma.

Modularidade Decomposição de um problema em pequenos pedaços, para gerenciar complexidade (Dividir para conquistar) Cada conceito independente deve ser representado por um módulo Construção de módulos desacoplados

Polimorfismo É a habilidade de objetos de classes diferentes responderem a mesma mensagem de diferentes maneiras

Polimorfismo

Polimorfismo

Polimorfismo

Herança

Herança É o mecanismo para definir uma nova classe em termos de uma já existente. É o relacionamento entre classes de objetos que permite a uma classe incluir atributos e operações definidas por outra classe mais genérica. A classe mais genérica é chamada de superclasse e as classes mais específicas de subclasse.

Herança Herança simples:

Herança Herança Múltipla:

Composição Objetos possuem relacionamentos Composição Um objeto pode ser formado por outros objetos Casa, livro, jardim, agenda de contatos, etc Um livro é composto de capítulos Capítulo é parte essencial de livro Se não existir capítulo, não existe livro Capítulo não existe fora de livro

Composição Linha com losângulo preenchido na classe “dominante” Livro é composto de 1 ou mais capítulos

Exercícios Identifique atributos para as classes: Agência bancária Caderno; Arquivo em um computador. Agência bancária Descreva os atributos e métodos de uma conta corrente em uma agência bancária

Respostas Caderno: Arquivo em um computador: Conta bancário: Atributos: quantidade de folhas, tamanho, tipo da capa, preço, fabricante, etc. Arquivo em um computador: Atributos: nome, tamanho, tipo do arquivo, data e hora da última atualização, propriedades de acesso, etc. Conta bancário: Atributos: número, agência, tipo da conta (corrente, poupança, salário), saldo, etc. Métodos: Creditar, debitar, transferir, imprimir saldo, etc.

Exercícios Identifique nas classes que atributos e/ou operações não pertencem ao escopo do problema. Classe: Aluno (sistema de controle de alunos do ensino médio) Atributos: nome, telefone, endereço, filiação, altura, data de nascimento, disciplina. Métodos: Realizar matricula, emitir boleto, verificar notas.

Exercícios Classe: Professor (Cadastro de professores de uma universidade) Atributos: nome, formação acadêmica, data de nascimento, data de casamento, sexo. Métodos: Listar disciplinas, Emitir contracheque, inserir notas das disciplinas. Classe: Livro (Cadastro de livros de uma livraria) Atributos: título, ISBN, número de páginas, autores, editora, preço de custo, preço de venda, ano da edição. Métodos: cadastrar livro, calcular desconto especial, imprimir livro.

Respostas Classe: Aluno Classe: Professor Classe: Livro Atributos: altura Classe: Professor Atributos: Data de casamento Classe: Livro Métodos: Imprimir livro

Resumo 21.342-7 875,32 String double 89.342-X 105,33 Número Saldo creditar debitar Número Saldo String double creditar debitar Número Saldo 89.342-X 105,33 creditar debitar

Resumo creditar(20.00) 21.342-7 875,32 895,32 Número Saldo creditar debitar 895,32

Resumo String double String double extends Poupança Conta Número Saldo creditar debitar Número Saldo String double creditar debitar renderJuros extends Poupança Conta

Resumo creditar(20.00) 21.342-7 875,32 895,32 Número Saldo creditar debitar renderJuros 895,32

Resumo renderJuros(0.01) 21.342-7 875,32 884,07 Número Saldo creditar debitar renderJuros 884,07