Programação Orientada a Objetos em Java



Documentos relacionados
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Técnicas de Programação II

Herança. Alberto Costa Neto DComp - UFS

Java. Marcio de Carvalho Victorino

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Análise e Projeto Orientados por Objetos

Encapsulamento de Dados

Orientação a Objetos com Java

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Profº. Enrique Pimentel Leite de Oliveira

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

Herança. Algoritmos e Programação II. Aula 5 Herança

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Java 2 Standard Edition Como criar classes e objetos

Sobre o Professor Dr. Sylvio Barbon Junior

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Módulo 07 Características Avançadas de Classes

Orientação a Objetos e a Linguagem Java

Análise de Programação

Programação Orientada a Objetos (DPADF 0063)

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

UML Aspectos de projetos em Diagramas de classes

Noções sobre Objetos e Classes

Programação Avançada

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Prof. Esp. Adriano Carvalho

Keeper of Knowledge. Capítulo 2 Classes em Java

Programação de Computadores - I. Profª Beatriz Profº Israel

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Prof. Jhonatan Fernando

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br)

Orientação a Objetos

Linguagem de Programação III

Capítulo 3. Programação por objectos em Java

Projeto de Software Orientado a Objeto

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Programação por Objectos. Java

Programação com Acesso a BD. Programação com OO Acesso em Java

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Introdução a Java. Hélder Nunes

Capítulo 5 Reuso de Classes

Reuso com Herança a e Composiçã

POO Programação Orientada a Objetos. Classes em Java

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

UML Unified Modeling Language

Programação Orientada a Objetos

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Programação Orientada a Objetos. Encapsulamento

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Programação por Objectos. Java

Algoritmos e Programação II. Sobrecarga

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Java TM e o Modelo de Objetos

DEFINIÇÃO DE MÉTODOS

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Prototype, um Design Patterns de Criação

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Tópicos em Engenharia de Computação

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Programação Orientada a Objetos C++

UNIVERSIDADE FEDERAL DO PARANÁ

Classes Abstratas e Interfaces

Polimorfismo. Prof. Leonardo Barreto Campos 1

2 Orientação a objetos na prática

Programação Orientada a Objetos em java. Polimorfismo

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

CURSO DE PROGRAMAÇÃO EM JAVA

Programação Orientada a Objetos em Java. Herança

Implementando uma Classe e Criando Objetos a partir dela

Capítulo 4. Packages e interfaces

Implementação de Classe e Auto-Relacionamento em Java

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Java : Comunicação Cliente-Servidor.

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

Linguagem de Programação III

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Exercícios de Revisão Java Básico

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Qualidade de Software

insfcanceof new public switch transient while byte continue extends for int null

Introdução a POO. Introdução a Linguagem C++ e POO

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Módulo 06 Desenho de Classes

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Transcrição:

Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1

Objetivo Apresentar os principais conceitos de Programção Orientada a Objeto com a linguagem de programação Java 1:14 2

Apresentação Introdução Orientação a Objeto Java Classe Objeto Herança Encapsulamento Polimorfismo 1:14 3

Orientação a Objetos O ser humano vêem os objetos reais através de suas características e funções Características Tamanho Peso Cor Preço Funções Liga Recebe ligações Envia Mensagens Recebe Mensagens 1:14 4

Projetos Orientados a Objetos Modelagem e desenvolvimento de softwares por objetos Os objetos possuem as características e funções de objetos reais Mais próximo do pensamento humano Facilita a modularização do software 1:14 5

Linguagens de Programação Orientadas a Objeto Suporte à criação de objetos no computador Representação de objetos reais Exemplos de linguagens: C++ C# Objetct Pascal Java 1:14 6

Java Totalmente orientada a objetos Gratuita Multi plataforma Software Java Java Virtual Machine Java Virtual Machine Java Virtual Machine 1:14 7

Programação Orientada a Objetos em Java 1:14 8

Classe Tipo abstrato de dados Modelo ou protótipo de objetos reais Possui a definição das características e funções desses objetos Características Atributos definem o estado o objeto Funções Métodos Comportamento do objeto Operações sobre os dados 1:14 9

public class Pessoa{ private String nome; private int idade; public String getnome(){ return nome; public int getidade(){ return idade; public void setnome(string n){ nome = n; public void setidade(int i){ idade = i; Atributos Operações sobre os dados 1:14 10

Classe Semelhante a uma struct (C) ou record (Pascal) Atributos: variáveis globais Métodos: funções que normalmente manipulam os atributos Métodos para leitura e escrita os atributos: interface de acesso Public: acesso externo Detalhes a frente Private: acesso interno 1:14 11

Criação do Objeto public class Principal{ public static void main(string[] args){ Pessoa p; p = new Pessoa(); //p.nome = José ; p.setnome( José"); p.setidade(18); System.out.println("Nome="+ p.getnome()); System.out.println("Idade="+ p.getidade()); 1:14 12

Criação do Objeto Foi declarada a classe Principal (aplicativo Java) Pessoa p; p = new Pessoa(); new cria uma instância de Pessoa o objeto é denominado p 1:14 13

Objeto Instância de uma classe Área de memória com as características da classe Objeto p Memória Principal nome Idade setnome () getnome() setidade () getidade() 1:14 14

Objeto public class Principal{ public static void main(string[] args){ Pessoa p1, p2; p1 = new Pessoa() p2 = new Pessoa(); p1.setnome( José"); p1.setidade(18); System.out.println("Nome="+ p1.getnome()); System.out.println("Idade="+ p1.getidade()); p2.setnome( João"); p2.setidade(35); System.out.println("Nome="+ p2.getnome()); System.out.println("Idade="+ p2.getidade()); 1:14 15

Métodos Construtores Executados na criação dos objetos Possuem o mesmo nome da classe Não possuem tipo de retorno Normalmente são utilizados para inicializar atributos Se não forem criados o compilador cria um construtor padrão Chamada do construtor Pessoa p = new Pessoa(); 1:14 16

Métodos Construtores public class Pessoa{ private String nome; private int idade; public Pessoa() { public String getnome(){ return nome; public int getidade(){ return idade; public void setnome(string n){ nome = n; public void setidade(int i){ idade = i; Construtor vazio Se não for declarado o compilador cria 1:14 17

Métodos Construtores public class Pessoa{ private String nome; private int idade; public Pessoa(String n, int i) { nome = n; idade = i;... O construtor recebe dois parâmetros, uma string e um inteiro Os valores desses parâmetros são passados para os atributos 1:14 18

Métodos Construtores Na chamada do construtor é obrigatória a passagem dos parâmetros public class Principal{ public static void main(string[] args){ Pessoa p; p = new Pessoa( José, 18); System.out.println("Nome="+ p.getnome()); System.out.println("Idade="+ p.getidade()); 1:14 19

Herança Forma de reutilização de código onde uma classe é criada absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas Deitel [2006] 1:14 20

Herança A classe já existentes é chamada superclasse ou classe mãe A classe derivada é chamada subclasse ou classe filha Relacionamento é um Pessoa Empregado Aluno Docente Administrativo 1:14 21

Herança Inicialmente, considere a classe Pessoa sem construtor ou com construtor vazio public class Pessoa{ private String nome; private int idade; public Pessoa() {... 1:14 22

Herança public class Aluno extends Pessoa{ private String matricula; public String getmatricula() { return matricula; public void setmatricula(string matricula) { this.matricula = matricula; 1:14 23

Herança public class Principal { public static void main(string[] args) { Aluno a = new Aluno(); a.setmatricula("11111"); a.setidade(18); a.setnome("maria"); System.out.println("Nome: "+ a.getnome()); System.out.println("Idade: "+ a.getidade()); System.out.println("Matricula : "+ a.getmatricula()); 1:14 24

Herança e Método Construtor Se a superclasse possui a definição de um método construtor suas filhas devem: Também possuir a definição de um construtor Chamar o construtor da mãe na primeira linha de seu construtor Utilização da palavra reservada super 1:14 25

Herança e Construtores public class Pessoa{ private String nome; private int idade; public Pessoa(String n, int i) { nome = n; idade = i; Definição do método construtor public String getnome(){return nome; public int getidade(){return idade; public void setnome(string n){nome = n; public void setidade(int i){idade = i; 1:14 26

Herança e Construtores public class Aluno extends Pessoa{ private String matricula; public Aluno(String nome, int idade, String matricula){ super(nome,idade); this.matricula = matricula; public String getmatricula() { return matricula; public void setmatricula(string matricula) { this.matricula = matricula; Chama o construtor da mãe 1:14 27

Pacotes Um pacote é um conjunto de classe relacionadas O código de classes de mesmo pacote encontram-se na mesma pasta Palavras reservadas: package : define o nome de um pacote import : informa a utilização de um pacote Organizam o código e facilitam a reutilização de código 1:14 28

Pacotes Importante Só pode existir uma instrução package em um arquivo de código-fonte Java Essa instrução deve ser a primeira linha do código Fora do bloco da classe só podem existir dois comando: package e import 1:14 29

Pacotes Cliente.java CadastroCliente.java ManipulaCliente.java 1:14 30

Pacotes package modelo; public class Cliente {... package visao; public class CadastroCliente{... package controle; public class ManipulaCliente{... 1:14 31

Pacotes Criação de um objeto Cliente na classe ManipulaCliente package controle; import modelo.cliente; public class ManipulaCliente{... Cliente c = new Cliente();.. 1:14 32

Pacotes No import pode-se informar a importação de todas as classe de um pacote package controle; import modelo.*; public class ManipulaCliente{... Cliente c = new Cliente();.. 1:14 33

Pacotes O import pode ser substituído se o nome da classe tiver o pacote onde ela se encontra package controle; public class ManipulaCliente{... modelo.cliente c = new modelo.cliente();.. 1:14 34

Pacotes Divide o programa em módulos Criação de bibliotecas de classe Auxilia a reutilização de código O Java já possui uma vasta biblioteca de classe, exemplos de pacotes javax.swing: interface gráfica java.net: rede javax.sql: acesso a banco de dados 1:14 35

Encapsulamento Encapsular: esconder Definir a quais membros da classe serão visíveis Tipos de encapsulamento Local Filha Objeto public Sim Sim Sim protected Sim Sim Sim/Não private Sim Não Não 1:14 36

Encapsulamento public class Protege { public int a; protected int b; private int c; public void exibe(){ System.out.println("a:" + a); System.out.println("b: "+ b); System.out.println("c: "+ c); 1:14 37

Encapsulamento public class Filha extends Protege{ public void exibe(){ System.out.println("a:" + a); System.out.println("b: "+ b); 1:14 38

Encapsulamento public class Principal { public static void main(string[] args) { Protege p = new Protege(); System.out.println("a: " + p.a); System.out.println( b: " + p.b); Somente dentro do mesmo pacote 1:14 39

Polimorfismo Conceitos Método abstrato: não possui corpo Classe abstrata: não instancia objeto Interface: semelhante a classe abstrata, mas só possui métodos abstratos Utilização da palavra reservada abstract Importante: Variáveis de superclasses podem receber objetos de classes subclasses 1:14 40

Polimorfismo public abstract class Figura { private String cor; public String getcor() { return cor; public void setcor(string cor) { this.cor = cor; public abstract double area(); 1:14 41

Polimorfismo public class Quadrado extends Figura{ private double lado; public double getlado() { return lado; public void setlado(double lado) { this.lado = lado; public double area(){ return getlado() * getlado(); 1:14 42

Polimorfismo public class Circulo extends Figura{ private double raio; public double getraio() { return raio; public void setraio(double raio) { this.raio = raio; public double area(){ return 3.14 * getraio() * getraio(); 1:14 43

import javax.swing.*; public class Principal { public static void main (String args[]){ Figura f; String e; e=joptionpane.showinputdialog("1-quadrado\n"+"2-circulo"); if(e.equals("1")){ Quadrado q = new Quadrado(); q.setcor(joptionpane.showinputdialog("cor")); double lado = Double.parseDouble(JOptionPane.showInputDialog("Lado")); q.setlado(lado); f = q; else{ Circulo c = new Circulo(); c.setcor(joptionpane.showinputdialog("cor")); double raio = Double.parseDouble(JOptionPane.showInputDialog("Raio")); c.setraio(raio); f = c; JOptionPane.showMessageDialog(null, "Area:" + f.area()); 1:14 44

Polimorfismo Interface Equivalente a uma classe abstrata Possui somente constantes e métodos abstratos Herança através da palavra implements Suas subclasses herdam a obrigação de implementar os métodos definidos na interface 1:14 45

Polimorfismo public interface Boneco { public abstract void correr(); public abstract void andar(); public abstract void chutar(); public class Jogador implements Boneco{ public void correr(){... public void andar(){... public void chutar(){... 1:14 46

Conclusão Apresentados os principais conceito de Programação Orientada a Objetos Classe Objeto Herança Encapsulamento Polimorfismo Conceito não mencionado Sobrecarga de métodos Membros static Herança múltipla de interfaces 1:14 47

Fim 1:14 48