INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Programação orientada a objetos
Introdução a Programação Orientada a Objetos
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
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
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.
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
1 Objetos Relacionados a um banco de dados. 2 Introdução Visual Basic dispõe de um conjunto de objetos, que através de suas propriedades e métodos, nos.
Introdução ao paradigma de programação: Orientado a Objetos
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Diagrama de Classes.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Programação Orientada a Objetos
Aula 4 Nomes, Vinculações, Tipos e Escopos
Fases do desenvolvimento de software UML
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
AP 1.
Provas de Concursos Anteriores
TÉCNICAS DE PROGRAMAÇÃO II
Diagramas de Seqüência
Princípios de Orientação à Objetos
Programação Orientada a Objetos com Java
Aula prática 13 Orientação a Objetos – C++ Parte 1
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Object Oriented Software Construction (MEYER, Bertrand)
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Linguagens Orientadas a Objeto
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Sobrecarga e Encapsulamento
Programação Orientada à Objetos
Entendendo as definições de classe
É u m e l e m e n t o f u n d a m e n t a l
EXERCÍCIOS PARA GUARDA-REDES
Tipos Abstratos de Dados
Classes, Objetos, Atributos e Métodos JAVA
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
Orientação a Objetos Parte I
Programação Orientada à Objetos
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
Máquina de Turing Universal
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
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
Orientação a Objetos Parte II
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
PROGRAMAÇÃO ORIENTADA A OBJETOS
Aula Prática 4 Monitoria IP/CC (~if669).
BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2.
Introdução a Orientação a Objetos
Módulo II Capítulo 1: Orientação a Objetos
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 À ORIENTAÇÃO A OBJETOS EM JAVA

Entendendo Orientação a Objetos É um paradigma(?) de programação Traz a realidade para o mundo computacional Como o computador vai entender o que é uma pessoa? Tudo que existe é um objeto Abstrato Concreto Objetos interagem entre si Dentro de um sistema, um objeto pessoa troca informações com qualquer outro objeto, como outra pessoa ou uma caneta! Estilo de programação

Não entendeu Orientação a Objetos? “POO é um paradigma de programação que usa objetos compostos por campos e métodos, justamente com suas interações – para projetar programas de computadores.” “POO é uma forma especial de programar, mais próximo de como expressaríamos as coisas na vida real do que outros tipos de programação.” “POO é organizar o mundo real como uma coleção de objetos que incorporam uma estrutura de dados e um conjunto de operações que manipulam estes dados e trocam mensagens entre si.”

Alguns Benefícios Benefícios diretos Benefícios reais Facilidade em reutilização do código Desenvolvedor foca num nível mais elevado de abstração Melhor comunicação com os usuários do sistema Benefícios reais Desenvolvimento mais rápido Sistemas mais complexos, por usar funções já prontas Menor custo para o desenvolvimento e manutenção

Dificuldades Complexidade no aprendizado Tente explicar OO para um desenvolvedor COBOL (linguagem estruturada procedural) Conceitos de difícil entendimento

Classes Definição: “Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares.” “Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos” Uma classe pode ser vista como uma “fábrica de objetos” É uma especificação de algo que queremos que o computador entenda Instanciândo uma classe, temos finalmente um objeto! Entenda instância como uma concretização de algo abstrato

Classes – Atributos Definição: “Os atributos em POO são os elementos que definem a estrutura de uma classe, ou seja, suas características.” Podem ser entendidos basicamente como características de uma classe Se pensarmos numa classe Aluno, teremos: Nome Sexo Idade ...

Classes – Atributos - Exemplos

Classes – Atributos - Exemplos

Classes – Constutores Definição: “É uma estrutura especial da classe, um método, que tem como objetivo definir a configuração inicial de uma classe. É utilizado quando existem atributos da classe que são essenciais para o funcionamento do objeto, porém, são atributos de instância, e, assim, variam de acordo com cada objeto” Um método (ação) executado assim que o objeto é instânciado (criado para o mundo real...)

Classes – Constutores - Exemplos

Classes – Constutores - Exemplos

Classes – Visibilidade “Esconde” ou não informações entre as classes Aplicado a classes, atributos e métodos Definições dos tipos + Public – Quem tem acesso à classe tem acesso também a qualquer membro com visibilidade public, é raro ter atributos publicos, mas é comum ter métodos públicos - Private – O membro private não é acessível fora da classe, a intenção é que apenas quem escreve a classe possa usar esses membros # Protected – O membro protected é acessível à classe e suas subclasses, a intenção é dar acesso aos programadores que estenderão suas classes

Classes – Visibilidade - Exemplos

Classes – Objeto Definição: “Objetos são instâncias de classes. É através deles que praticamente todo o processamento ocorre em sistemas implementados com POO.” “Tudo pode ser potencialmente representado como um objeto. Sob o ponto de vista de POO, um objeto não é muito diferente de uma variável normal.” É a instância (“concretização”) de uma classe Armazena o estado de seus atributos e reage a mensagens enviadas a ele Pode ser entendida como uma variável que armazena os dados do objeto que está sendo trabalhado Exemplo: Um objeto da classe Aluno poderia ser João, Pedro, Isabella...

Método Definição: “Um método é uma subrotina que é executada por um objeto ao receber uma mensagem. Os métodos determinam o comportamento dos objetos de uma classe.” Métodos constituem o comportamento ou ações de um determinado grupo de objetos Permitem a reutilização de software Evitam a repetição de código

Método Um método é formado por: < modifiers > < tipo de retorno > < nome > ( < lista de argumentos > ) < bloco > <modifiers> : segmento que possue os diferentes tipos de modificações incluindo public, protected e private <tipo de retorno> : indica o tipo de retorno do método <nome> : nome que identifica o método <lista de argumentos> : todos os valores que serão passados como argumentos

Método - Exemplos Tipo de retorno Modifiers (visibilidade) Nome Lista de argumentos (vazia)

Método - Exemplos Argumento

Método - void Quando um tipo de retorno é declarado como void, significa que o método não retorna nenhum valor

Método - return Um método também pode retornar valores return expressão; O tipo de retorno deve ser compatível com o valor a ser retornado

Instância Criar um novo objeto que pode ser descrito através de uma classe Enquanto uma classe é um modelo abstrato de um objeto, uma instância representa um objeto concreto desta classe Do ponto de vista computacional, a instanciação corresponde à alocação de memória para armazenar informações sobre um certo objeto, ou seja, reserva uma posição de memória para guardar os valores associados aos atributos que descrevem um objeto de uma certa classe Exemplo: Aluno aluno1 = new Aluno();

Instância - Exemplos Aluno aluno1 = new Aluno(“Aristarco”, 89); aluno1 é diferente de aluno2

this A palavra this é usada para referenciar membros de um objeto

this() Em classes com múltiplos construtores, que realizam tarefas semelhantes, this() pode ser usado para chamar outro construtor local, identificado pela sua assinatura

Atributos Constantes Constantes são dados que não mudam e não podem ser alterados O Java oferece a palavra-chave final para especificar dados constantes

Sobrecarga É a possibilidade de existirem numa mesma classe vários métodos com mesmo nome Esses métodos devem possuir assinatura diferentes Assinatura de um método: nome do método e sua lista de argumentos

Sobrecarga - Exemplos

Sobrecarga - Exemplos

Exemplo - Aluno Temos uma classe Aluno, a qual depois de uma rápida análise, definimos alguns de seus atributos: Nome Idade Sexo Depois definimos alguns de seus comportamentos, ou seja, métodos: Responder a chamada Estudar Lanchar

Exemplo - Aluno

Exemplo - Aluno

Exemplo - Carro Vamos criar uma classe Carro. Atributos: Cor Modelo Velocidade Atual Velocidade Máxima Agora alguns de seus comportamentos (métodos): Liga Acelera Pega Marcha

Exemplo - Carro

Exemplo - Carro

Exemplo - Carro Agora vamos incluir na classe Carro o atributo motor, porém, o motor tem características próprias mais detalhadas. O que fazer? Vamos criar a classe Motor. Terá como atributos: Potência Válvulas Motor não terá métodos assinados

Exemplo - Carro

Exemplo - Carro Devemos agora incluir o atributo Motor na classe Carro:

Exemplo - Carro

Exemplo - Carro Voltemos à classe TestaCarro. Observe que o atributo motor pode ser acessado diretamente pela instância criada de Carro.

Exemplo - Carro

Agradecimento Prof. Daniel Dante