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

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Advertisements

Programação orientada a objetos
Programação em Java Prof. Maurício Braga
Projeto – Parte II - Exemplos de Diagrama de Colaboração
Paulo Marques Hernâni Pedroso
Programação Orientada a Objetos C++ Prof. Érico Olavo Weissheimer
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
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
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
O Paradigma de Orientação a Objetos
Refactoring de Programas Java
Introdução ao paradigma de programação: Orientado a Objetos
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Estruturas de Controle
ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999.
Programação orientada a objetos com Java
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Capítulo 9 Herança 1.
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
Análise de Casos de Uso Alexandre Motnteiro.
Diagramas de Seqüência
JAVA: Conceitos Iniciais
Programação Orientada a Objetos com Java
JAVA Orientação a Objetos
Linguagens Orientadas a Objeto
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Sobrecarga e Encapsulamento
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Programação Orientada à Objetos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Programação I Aula 2 (Métodos)
Métodos de Construção de Software: Orientação a Objetos
Entendendo as definições de classe
Tipos Abstratos de Dados
Classes, Objetos, Atributos e Métodos JAVA
Projeto de Banco de Dados
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
UML - Unified Modeling Language
SISTEMAS DISTRIBUIDOS Aula 4
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Implementação Orientada a Objetos – Aula 03
Programação Orientada à Objetos
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Ferramentas para Orientação a Objetos
Modificadores Programação II.
Introdução a Orientação a Objetos
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
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:

Introdução a Programação Orientada a Objetos Programação em Java Prof. Maurício Braga Programação orientada a objetos com Java

Desenvolvimento de Software tradicional Programas Processos dados Programação orientada a objetos com Java

Enfoque a programas Visão tradicional usa perspectiva de algoritmo O principal bloco de construção é o procedimento ou função Conduz o foco de atenção para questões referentes ao controle e a decomposição de algoritmos maiores em outros menores Modelagem de dados divide as informações em tabelas, criando mecanismos para junção posterior

Desenvolvimento Orientado a Objetos Visualiza e representa o mundo real como um conjunto de objetos que interagem entre si para que determinadas operações sejam realizadas. Motorista Carro Parar

Desenvolvimento Orientado a Objetos Visão contemporânea adota perspectiva OO. Forma de construir software que difere bastante dos enfoques tradicionais. Programação orientada a objetos é freqüentemente referenciada como um “novo” paradigma de programação.

Desenvolvimento Orientado a Objetos Programação implementada pelo envio de mensagens. A solução de um problema consiste em identificar os objetos, mensagens e seqüências de mensagens para efetuar a solução. Cada objeto do mundo real transforma-se em um “objeto” de software. Viabiliza a montagem de sistemas a partir de componentes.

Exemplo Você resolve jantar numa pizzaria Existem vários objetos na pizzaria: Pizza Mesa Garçom, etc.... Cada objeto tem características que o descrevem: Mesa redonda ou quadrada Mesa desocupada ou não

Exemplo – Objetos Conta corrente deposito() saldo

Criação dos objetos Desenvolver uma aplicação no paradigma OO implica em modelar os objetos existentes no mundo real no sistema em desenvolvimento. Objetos existentes no mundo real podem ser complexos, tornando necessário abstrair as características relevantes de cada entidade para o sistema em desenvolvimento O processo de abstração é fundamental para o desenvolvimento de softwares orientados a objetos.

Abstração Eliminação do irrelevante e amplificação do essencial

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

Exemplo – abstração Registros de oficina Registros em casa Registros Detran Km/l, manutenção, etc Identificação, impostos, placa, etc.. placa, conserto, pagamento, etc..

Objetos Um objeto é qualquer coisa, real ou abstrata, sobre a qual armazenamos dados e operações que manipulam tais dados Unidade básica de modularização do sistema na abordagem OO Um objeto é um ente independente, composto por: atributos, isto é, características ou propriedades que definem o objeto comportamento, isto é, um conjunto de ações pré-definidas (denominada métodos), através das quais o objeto responderá à demanda de processamento por parte de outros objetos

Em resumo: Em outras palavras, a expressão orientada a objetos significa que o aplicativo é organizado como uma coleção de objetos que incorporam tanto a estrutura como o comportamento dos dados Criar um programa requer modelar o mesmo como um conjunto de objetos que interagem para realizar uma ou mais tarefas de interesse do usuário.

Desenvolvimento tradicional x orientado a objetos Programas Classes processos atributos dados operações

Classes Classes: “fábricas” de objetos. Exemplificando, temos que Pessoa é uma classe e João é um objeto (instância) da classe Pessoa. Um carro é uma classe; “meu carro” é um objeto. Objetos similares são agrupados em classes

Classes – Fábrica de objetos. Definição da classe

Mensagens A POO identifica uma abordagem em que o programador visualiza seu programa em execução em termos de objetos que se comunicam através de trocas de mensagens Mensagem - composta por um nome e por parâmetros (opcional) Cliente Conta debite(50R$) debite

Mensagens Objetos interagem enviando mensagens uns para os outros. O objeto que receber a mensagem responderá através da seleção e execução de um método que faz parte de seu comportamento Após a execução, o controle volta para o objeto que enviou a mensagem Uma mesma mensagem pode gerar ações diferentes (polimorfismo) Classes bem projetadas escondem seus dados do ambiente externo (encapsulamento)

Classes e objetos em Java Estrutura de uma classe em Java Definição da classe [acesso] class NomeDaClasse { Atributos Construtores Métodos } O conteúdo da classe Programação orientada a objetos com Java

Classes e objetos em Java Métodos e parâmetros de uma classe em Java Viabilizam a troca de mensagens entre os objetos. Definem as operações que podem ser invocadas em um objeto. Acelerar o carro; Freiar. Métodos podem ter parâmetros para passar informações adicionais necessárias para sua execução. Acelerar ‘x’ km/h2 Programação orientada a objetos com Java

Classes e objetos em Java Métodos e parâmetros de uma classe em Java Métodos têm uma estrutura que consiste em um cabeçalho e um corpo. O cabeçalho define a assinatura do método. public String getNomeCurso() public void setNomeCurso(String nome) O corpo engloba as instruções do método. Programação orientada a objetos com Java

Classes e objetos em Java Atributos de uma classe em Java Atributos armazenam valores para um objeto. Eles também são conhecidos como variáveis de instâncias. Atributos definem o estado de um objeto. Normalmente são definidos como privados e vêm acompanhados de dois métodos set<nomeAtributo> get<nomeAtributo> public class CursoGraduacao { private String nomeCurso;   Construtor e métodos omitidos. } Modificador de visibilidade Nome da variável Tipo private String nomeCurso; Programação orientada a objetos com Java

Exemplo public class Produto { private int codigo; private String nome; public String getNome() { return nome; } public void setNome(String nome_produto) { nome = nome_produto;

Classes e objetos em Java Construção de objetos em Java Realizada com a palavra reservada New. Processo conhecido como criação de uma instância de uma classe. Tipo da variável pode diferir do objeto realmente criado (desde que estejam relacionados por herança). Declaração do tipo da variável Objeto real criado Variável Produto p = new Produto(); Programação orientada a objetos com Java

Construtores Construtores inicializam um objeto. EX: Eles têm o mesmo nome das suas classes. Eles armazenam valores iniciais nos atributos do objeto. Eles freqüentemente recebem valores de parâmetros externos para definir os atributos. EX: public Produto(int cod, String nome_prod) { codigo = cod; nome = nome_prod; } Programação orientada a objetos com Java

Classes e objetos em Java Construtores Pode existir mais de um construtor em uma classe; Caso não seja definido nenhum construtor, o compilador cria o construtor padrão, sem parâmetros; O construtor padrão inicializa os atributos de classe para seus valores padrões. Caso seja definido qualquer construtor, o construtor padrão não será adicionado pelo compilador; Caso deseje-se que a classe ainda possua um construtor sem parâmetros, é necessário declará-lo explicitamente. Programação orientada a objetos com Java

Classes e objetos em Java Declaração de pacotes Permite a reutilização de classes; Adição da declaração package ao arquivo: Deve ser a primeira instrução do arquivo; Como comentários não são instruções, apenas comentários podem vir antes que a declaração package. Definição de visibilidade da classe: public – Toda e qualquer classe Java possui acesso; Apenas classes públicas são reutilizáveis, as classes não públicas costumam ser usadas apenas para dar suporte às públicas, e são declaradas em um mesmo arquivo que uma classe pública (inner classes). Programação orientada a objetos com Java

Classes e objetos em Java Declaração de pacotes (cont.) A Sun sugere a utilização do nome do domínio na internet invertido. Ex: Classes disponibilizadas pela Apache (http://apache.org) devem ter seus pacotes iniciados como org.apache Para utilizar uma classe pública que pertence a um pacote fora deste pacote, devemos importar esta classe. Ex: se eu declarar uma classe chamada Time no pacote com.msx, devo usar a seguinte instrução em uma classe que não pertença ao pacote com.msx: Import com.msx.Time; Programação orientada a objetos com Java

Classes e objetos em Java Modificadores de acesso Public Pode ser utilizado para classes, atributos e métodos, permitindo que sejam utilizados por qualquer outra classe Java; Private Pode ser utilizado para atributos e métodos, permitindo que sejam utilizados apenas pela classe que os declara. Pode ser utilizado com classes internas também. Default Caso nenhum modificador de acesso seja definido, o atributo ou método será considerado com acesso de pacote, sendo acessíveis por qualquer classe que pertença ao mesmo pacote que os declara. Programação orientada a objetos com Java

A Referência this Métodos de instância recebem um argumento chamado this que é uma referência ao objeto corrente. O uso explícito do this é necessário quando: o nome de um parâmetro do método for o mesmo de uma variável de instância; desejamos passar uma referência do objeto corrente como parâmetro para outro método. EX: public Produto(int codigo, String nome) { this.codigo = codigo; this.nome = nome; } Programação orientada a objetos com Java