Conceitos de Programação Orientada a Objetos

Documentos relacionados
Conceitos de Programação Orientada a Objetos

Programação Orientada a Objetos

Introdução a Orientação a Objetos

TIC - Programação Visual

Introdução à Programação Orientada a Objetos em C++

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Tratamento de Exceções

LINGUAGEM DE PROGRAMAÇÃO

Reinaldo Gomes Análise/projeto estruturado

CLASSES, OBJETOS, MÉTODOS E STRING

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

TIC - Programação Visual

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

Introdução ao Ambiente Java

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

Aula 3 POO 1 Classe e Objeto. Profa. Elaine Faria UFU

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

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

POO Programação Orientada a Objetos

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

Programação Orientada a Objetos em Java

Introdução ao paradigma da orientação a objetos

Classes e Objetos. Sintaxe de classe em Java

Programação Orientada a Objetos

Desenvolvimento Web TCC Turma A-1

Modificadores de Acesso e Atributos de Classe

Relacionamentos entre objetos

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

Linguagem de programação Programação Orientada a objetos

POO - Programação Orientada a Objetos

Programação Java (nível intermediário) 4. Polimorfismo

Linguagem de Programação IV Introdução

OO - Orientação a Objetos

Programação Orientada a Objetos

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Televisao tamanho tela emitirsom. conectarperifericos

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

Programação Orientada a Objetos

Orientação a Objetos Básica

1 Introdução e Conceitos básicos

Threads. O que é uma Thread? Paralelismo

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Programação Orientada a Objetos

Java Standard Edition (JSE)

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS PRÓ-REITORIA DE GRADUAÇÃO ESCOLA DE CIÊNCIAS EXATAS E DA COMPUTAÇÃO PLANO DE ENSINO

Programação Orientada a Objetos

Java Standard Edition (JSE)

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

Programação Visual TIC 3PA. Lista de Exercícios 01 - B

Programação I 2º Bimestre (material 1)

O PARADIGMA ORIENTADO POR OBJETOS

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

Conceitos de Orientação a Objetos. Objeto Atributo Classe Método

Programação Estruturada Orientada a Objetos

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

JAVA. Professor: Bruno Toledo

Daniel Wildt

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

Introdução à Orientação a Objetos em Java

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

Introdução a Linguagem

Linguagem de Programação III

Interfaces e Classes Abstratas

Conteúdo desta aula. Importância da AOO Conceito de Abstração Introdução à UML Introdução ao diagrama de classes

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

Linguagem de Programação II Implementação

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

DISCIPLINA: Programação de Computadores II

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Aula 04 Introdução à Programação Orientada à Objetos

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Programação Orientada aos Objectos I

Conceitos de Programação Orientada a Objetos

Conceitos Básicos. Fundamentos de Programação de Computadores

Orientação a Objetos e Java

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

Transcrição:

Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de Programação Orientada a Objetos 1

Conceitos Fundamentais Classe; Ocultamento de informação; Encapsulamento; Atributo; Método; Mensagem; Objeto. Unidade 02 Conceitos de Programação Orientada a Objetos 2

É bom saber! Palavra-chave no paradigma de orientação a objetos: ORGANIZAÇÃO do código-fonte! Unidade 02 Conceitos de Programação Orientada a Objetos 3

Carro X OO Suponha que você queira guiar um carro e em determinados momentos fazê-lo andar mais rápido pisando no acelerador; O que deve acontecer antes que você possa fazer isto? Alguém tem que projetar e construir o carro! Unidade 02 Conceitos de Programação Orientada a Objetos 4

Classe Em geral, os carros 'nascem' em um desenho de engenharia semelhante às plantas utilizadas nos projetos de casas; Nesta planta, procura-se detalhar o máximo possível, de forma genérica, todos os atributos (características) e funcionalidades do que está sendo projetado; Neste desenho de engenharia (o do carro) está o desenho do pedal do acelerador, do freio, da direção e etc. Unidade 02 Conceitos de Programação Orientada a Objetos 5

Ocultamento de Informações O pedal do acelerador, o pedal do freio e a direção, ocultam de seus usuários os complexos mecanismos que os fazem funcionar; Este processo de ocultamento permite que pessoas com pouco ou nenhum conhecimento de como os motores e as engrenagens funcionam, dirijam um carro facilmente. Unidade 02 Conceitos de Programação Orientada a Objetos 6

Encapsulamento Junto ao mecanismo do acelerador, neste mesmo carro, estão encapsulados outros mecanismos fundamentais para o seu funcionamento, tais como: o câmbio de marchas para aumentar ou diminuir, juntamente com o acelerador, a velocidade do carro; o freio para diminuir a velocidade ou mesmo parar o carro; o velocímetro para medir a velocidade que o carro está fazendo; o marcador de combustível para medir o que tem de gasolina no tanque e o volante para mudar o carro de direção e etc. Unidade 02 Conceitos de Programação Orientada a Objetos 7

Atributos Ainda no projeto diversos atributos do carro são definidos pelos engenheiros. Tais como: quantidade de portas; tamanho e largura dos pneus; motor; combustível e etc. Unidade 02 Conceitos de Programação Orientada a Objetos 8

Método Para realizar uma tarefa em um programa é necessário um: Método: Os métodos descrevem mecanismos que realizam tarefas; O método oculta de seus usuários as tarefas complexas que ele realiza. Assim como o pedal do acelerador, o pedal de freio, o câmbio de marchas, o velocímetro e o marcador de combustível; ocultam do motorista os complexos mecanismos que os fazem funcionar. Unidade 02 Conceitos de Programação Orientada a Objetos 9

Mensagem Nem todos os mecanismos (métodos) citados anteriormente funcionam sozinhos. Ou seja, para o carro começar a andar ou mesmo para andar mais rápido, uma mensagem deverá ser enviada ao motor. Esta mensagem é enviada pisando-se no acelerador; Para parar o carro envia-se uma mensagem pisando no freio; Para mudar de direção envia-se uma mensagem virando o volante; E assim por diante. Unidade 02 Conceitos de Programação Orientada a Objetos 10

Objeto Depois que todos estes mecanismos foram projetados e no projeto estão todos perfeitamente calculados e elaborados, então, podemos criar e usufruir do nosso carro ou melhor, do nosso OBJETO. Unidade 02 Conceitos de Programação Orientada a Objetos 11

Programação Orientada a Objetos Análogo a todos os passos descritos nos slides anteriores, se dá a criação de um programa orientado a objetos; Vejamos nos slides a seguir: Unidade 02 Conceitos de Programação Orientada a Objetos 12

TAD TAD (Tipo Abstrato de Dados) é a representação encapsulada de um tipo definido pelos seus atributos e suas operações; É uma estrutura de programação, na qual uma determinada estrutura de dados, é conhecida somente via as operações realizadas sobre os seus elementos de dados, sem que se identifique como a estrutura é codificada. (Staa (2000) apud Ferreira(2009)) A programação orientada a objetos, é o resultado do uso da abstração de dados no desenvolvimento de softwares. Unidade 02 Conceitos de Programação Orientada a Objetos 13

Classe Em POO é uma unidade de programação criada para abrigar os atributos e os métodos de um objeto; Uma classe é um conceito de OO que encapsula as abstrações de dados e procedimentos necessários para descrever o conteúdo e o comportamento de alguma entidade do mundo real. (Pressman (2002) apud Ferreira (2009)); Uma classe é o projeto de engenharia, do que mais tarde será chamado de objeto, com seus atributos e métodos; Uma classe corresponde a um TAD (Tipo Abstrato de Dados). Unidade 02 Conceitos de Programação Orientada a Objetos 14

Atributo Também denominado como: campo, propriedade ou variável de instância; Representam as características que os objetos da classe possuem; Um objeto possui atributos que são portados consigo, quando ele é utilizado em um programa; Ex.: Um objeto conta bancária tem um atributo saldo que representa a quantidade de dinheiro na conta. Cada objeto conta bancária sabe o saldo da conta que representa, mas não sabe o saldo de outras contas. Unidade 02 Conceitos de Programação Orientada a Objetos 15

Método Também denominado membro de função ou operação ; Os métodos representam o comportamento que o os objetos da classe possuem; Análogo às funções e procedimentos da Programação Estruturada, porém aqui, estes estão encapsulados dentro de um determinado contexto, ou seja, a classe; Em POO um método pertence a uma determinada classe. Unidade 02 Conceitos de Programação Orientada a Objetos 16

Método Construtor O método construtor é um método especial que serve para inicializar um objeto e seus atributos; O método construtor pode ou não ser declarado explicitamente. Mesmo que não seja, toda classe possui um método construtor implícito que é disparado na criação do objeto; O método construtor possui o mesmo nome da classe, porém, não possui tipo de retorno; Podem existir diversos métodos construtores em uma mesma classe, desde que a assinatura de cada qual seja diferente uma da outra. Unidade 02 Conceitos de Programação Orientada a Objetos 17

Objeto Uma classe descreve uma categoria genérica, ou seja, um tipo genérico de dados; Um objeto é uma instância de uma classe, ou seja, é uma estrutura de dados que representa um membro específico da categoria; Exemplo: classe: Aluno objetos da classe Aluno: João, Paulo, Sílvia, Marina, Jurema e Marcos Objeto é uma estrutura computacional que representa um objeto do mundo real; Um objeto e suas funcionalidades, só podem ser usados depois de devidamente instanciados. Salvo os casos específicos. Unidade 02 Conceitos de Programação Orientada a Objetos 18

Partes Básicas de Um Programa class NomeDaClasse{ } public static void main(string[] args){ } comandos Unidade 02 Conceitos de Programação Orientada a Objetos 19

Exemplo Criação de Programa Se você abrir o aplicativo Bloco de Notas (no Windows) e digitar o programa: class Hello{ } public static void main(string[] args){ } System.out.println( Hello world! ); Ele funcionará perfeitamente. Assim que você compilálo e executá-lo. Unidade 02 Conceitos de Programação Orientada a Objetos 20

Comandos: Compilação e Execução Vamos supor que o arquivo anterior tenha sido salvo com o nome: hello.java Compilação: javac hello.java será criado o arquivo hello.class ; Execução: java hello.class será executado o programa. Unidade 02 Conceitos de Programação Orientada a Objetos 21

Outro Exemplo No contexto de automação bancária, identifica-se, dentre outras, a seguinte classe: Conta Corrente Estrutura da classe Conta Corrente (representação UML): Unidade 02 Conceitos de Programação Orientada a Objetos 22

Código da Classe Conta Corrente public class ContaCorrente { private int agencia; private int numero; private float saldo; public ContaCorrente(int conta, int agencia) { } numero = conta; agencia = agencia; saldo = 0; Unidade 02 Conceitos de Programação Orientada a Objetos 23

Código da Classe Conta Corrente public void sacar(float valor){ } } if((saldo - valor) >= 0) saldo = saldo valor; else System.out.println( Saldo insuficiente! ); public void depositar(float valor){ } if(valor > 0) saldo = saldo + valor; public float saldo(){ } return(saldo); Unidade 02 Conceitos de Programação Orientada a Objetos 24

Observações No exemplo anterior, o método ContaCorrente (de nome idêntico ao da classe) é denominado construtor da classe; O construtor é executado toda vez que um objeto desta classe é criado. Por ser um método especial, ele não especifica um tipo de retorno, pois não há; Um método construtor é utilizado para determinar o estado inicial do objeto; Em Java, objetos são criados utilizando-se o comando new. Unidade 02 Conceitos de Programação Orientada a Objetos 25

Exemplo: Criação de um Objeto Tipo da Variável (classe) Variável ContaCorrente minhaconta; Método Construtor minhaconta = new ContaCorrente(12345, 236); Na primeira linha do exemplo, é criada uma área na memória, que é uma referência para um objeto da classe ContaCorrente; Comando para Criação de Objetos Na segunda linha é instanciado (criado), um objeto da classe ContaCorrente, e este é atribuído a variável minhaconta; Unidade 02 Conceitos de Programação Orientada a Objetos 26

Comunicação entre Objetos Programas orientados a objetos são constituídos por objetos que trocam mensagens entre si; O envio de uma mensagem a um objeto corresponde a invocar (chamar) um método de tal objeto; Em: minhaconta.depositar(54.00); O método depositar do objeto minhaconta é invocado. Em outras palavras, é enviada uma mensagem para o objeto minhaconta para que este realize a operação depositar. Unidade 02 Conceitos de Programação Orientada a Objetos 27

Exercícios Para os sistemas a seguir, identifique 3 classes, seus respectivos métodos e atributos: Sistema de Video Locadora; Sistema de Gestão de Biblioteca; Agenda de Compromissos. Unidade 02 Conceitos de Programação Orientada a Objetos 28

Bibliografia DEITEL, H. M.; DEITEL, P. J. Java Como Programar; tradução Edson Furmankiewicz; revisão técnica Fábio Lucchini. 6. ed., São Paulo: Pearson, 2005. FERREIRA, Kecia Aline Marques. Slides da disciplina de Programação de Computadores II. CEFET-MG, 2009. HUBBARD, John R. Teoria e Problemas da Programação com Java. 2. ed. Porto Alegre: Bookman, 2006. MIZRAHI, Victorine Viviane. Treinamento em Linguagem C++ - Módulo 2. 2. ed., São Paulo: Pearson, 2006. Unidade 02 Conceitos de Programação Orientada a Objetos 29