56
JAVA SWING E PRINCÍPIOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

J A V A S W I N G E P R I N C Í P I O S D E P R O G R A M A Ç Ã O

O R I E N T A D A A O B J E T O S

P R O F. M E .

H É L I O

E S P E R I D I Ã O

Page 2: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

O QUE É UM ALGORITMO?

É qualquer procedimento bem definido que informa algum valor ou conjunto de

valores como entrada e produz algum valor ou conjunto de valores como saída.

Page 3: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PROGRAMAS

Cada instrução é executada no

computador por seu principal

componente, o processador ou CPU

(Unidade Central de Processamento).

Formalmente um programa:

É um conjunto de instruções que

descrevem uma tarefa a ser

realizada por um dispositivo

computacional.

Page 4: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

LINGUAGEM DE PROGRAMAÇÃO É um método padronizado para comunicar instruções que serão processadas em um processador.

Permite que um programador especifique precisamente em quais dados um computador vai atuar, como estes

dados serão armazenados ou transmitidos e quais ações devem ser tomadas em circunstâncias pré determinadas

Exemplos:

C

C++

Java

Page 5: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

MULTIPLATAFORMA

São aquelas linguagens que podem ser

executadas em sistemas operacionais

distintos.

Page 6: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PARADIGMA

• Embora o termo “paradigma” não seja

tão comum assim em nosso cotidiano,

seu significado é simples.

• De acordo com Houaiss, Franco e Villar

(2001, p. 329), paradigma significa

modelo, padrão.

• No contexto da programação de

computadores, um paradigma é um jeito,

uma maneira, um estilo de se programar

Page 7: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

REPRESENTAÇÕES SIMPLIFICADAS

• Quando representamos elementos reais

de forma simplificada e padronizada,

estamos criando um modelo para esses

elementos.

• Modelos são representações

simplificadas de objetos, pessoas, itens,

tarefas, processos, conceitos, ideias etc.,

usados comumente por pessoas no seu

dia a dia, independentemente do uso de

computadores.

Page 8: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

SERIA ADEQUADO, ENTÃO, ASSOCIARMOS MODELOS A

ELEMENTOS QUE VEMOS NO MUNDO REAL?

Page 9: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

RELEVÂNCIA DOS DADOS

• Dependendo do contexto em que um modelo está inserido, é comum que ele assuma certas

particularidades.

• Tomemos como exemplo a representação das informações de uma pessoa. Se estivermos

tratando de um modelo em que uma pessoa é um eleitor, por exemplo, alguns dados serão

relevantes e outros não. Observe os exemplos.

Page 10: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PESSOA CONSIDERADA COMO ELEITOR

• Pessoa considerada como eleitor:

nesse caso, é necessário conhecermos

seu nome, endereço, número de

inscrição, zona de votação e seção.

• A operação de alteração de domicílio

eleitoral poderia ser aplicada nesse

modelo.

Page 11: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PESSOA CONSIDERADA COMO ALUNO

• Pessoa considerada como aluno: para

a composição do modelo de aluno, é

necessário que se tenha o nome, o

número de matrícula, a nota da

primeira prova, a nota da segunda

prova, as faltas e a nota final, entre

outros dados.

• Operações como consultar nota e

solicitar revisão de ausências são

plausíveis nesse contexto.

Page 12: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PESSOA CONSIDERADA COMO MOTORISTA

• Nesse caso, as informações de nome

do condutor, número da CNH,

histórico de multas e data da

revalidação devem compor o modelo,

assim como as operações de consulta

multas e solicita revalidação

Page 13: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

CONTEXTO

• Lembre-se: a inclusão ou não de

dados ou operações no modelo

depende fortemente do contexto.

• Não faria sentido colocarmos, nos

respectivos modelos, o dado de

salário do condutor do veículo ou a

operação de consulta de nota para a

representação de um eleitor.

Page 14: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

CLASSES

• É uma estrutura criada para dar

origem ou modelar um objeto ou

modelo.

• O exemplo abaixo mostra a estrutura

básica de um carro. Essa estrutura

pode ser modelada e dar origem a

diversos carros

Page 15: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

MÉTODO

• Método vem a ser um grupo de

instruções em uma classe que define

como os objetos da classe se

comportarão.

• Os métodos são análogos às funções

em outras linguagens

• Também podem ser consideradas as

ações.

Page 16: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

OBJETOS

• É uma instância de uma classe.

• Um objeto é capaz de armazenar

estados através de seus atributos e

reagir a mensagens enviadas a ele,

assim como se relacionar e enviar

mensagens a outros objetos.

Page 17: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

INSTÂNCIA (CLASSE)

Page 18: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

CLASSE (CACHORRO)

▪ Atributos(Características)

▪ Nome, Idade, Tamanho, Cor, Peso, etc.

▪ Métodos

▪ Latir, Correr em círculos, comer, etc.

▪ Objetos

▪ As classes nada mais são do que

moldes para criação de objetos.

▪ Instanciar

▪ Cria objetos por meio de classes

Page 19: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

UML – UNIFIED MODELING LANGUAGE

• É uma linguagem para especificação,

construção, visualização e

documentação de sistemas de

software;

• É a união da sintaxe gráfica de vários

métodos, com vários símbolos

removidos e vários adicionados;

Page 20: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

DIAGRAMA DE CLASSES Utilizado para representar modelos.

Page 21: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PRIMEIRA CLASSE JAVA

• A palavra reservada class deve ser escrita em letra minúscula

Page 22: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

ESTRUTURA DE UM PROGRAMA EM JAVA

• Como todo programa em Java vem a

ser uma classe então toda a vez que

formos escrever um programa Java

devemos usar o comando class que

declara uma classe.

Page 23: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

CLASSE CACHORRO

Cachorro

+nome: string+idade: int+tamanho: int+cor: string+peso: int

+Correr(velocidade: int): void+Comer(): void

Page 24: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

INSTANCIAR MINHA CLASSE!

Cachorro

+nome: string+idade: int+tamanho: int+cor: string+peso: int

+Correr(velocidade: int): void+Comer(): void

Page 25: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

CONSTRUTOR

• No exemplo abaixo a classe é

instanciada, mas nenhum atributo

recebe valor.

• Qual a saída desse programa?

Page 26: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

EXEMPLO DE CONSTRUTOR

Instância da classe pessoa,

passa como parâmetros para o

construtor o nome e a idade

O operador this

faz referência a própria

classe ou seja ao atributo

nome e não ao parâmetro

nome

Parâmetros do método construtor.

Método Construtor

Page 27: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

O CONSTRUTOR OBRIGA

• Veja que existe apenas um construtor

na classe e ele exige que sejam

passados dois parâmetros(nome e

idade). Caso os parâmetros não

sejam passados é gerado erro de

compilação

Page 28: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

OBJETO/CLASSE COMO ATRIBUTO

Page 29: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

SOBRECARGA (OVERLOADING)

• Possuímos métodos com o mesmo nome

• Assinaturas são diferentes

• Esse é o conceito de polimorfismo de

sobrecarga!

• É executado em tempo de compilação (Antes de

executar o código você já sabe qual método

será executado).

• Note os retornos dos métodos.

• Qual a saída?

Page 30: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

MEDIADORES DE ACESSO

Public – deixa visível a classe ou membro para todas as outras classes, subclasses e pacotes do projeto .

01Private – deixa visível o atributo apenas para a classe em que este atributo se encontra.

02Protected – deixa visível o atributo para todas as outras classes e subclasses que pertencem ao mesmo pacote.

03

Page 31: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

PUBLICO VS PRIVATE

• Publico todas as classes podem usar os métodos e campos

• .

• Privado apenas a classe podem usar os métodos e campos

Page 32: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

EXEMPLO

• Todos os atributos e métodos da classe são

públicos.

• Todos os atributos e métodos da classe podem ser

utilizados em qualquer lugarInstância da classe “Pessoa”

Dentro da classe “NomeClasse”

Page 33: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

ATRIBUTOS PRIVADOS

• Verifique que o atributo idade não pode ser acessado

da classe “NomeClasse”Instância da classe “Pessoa”

Dentro da classe “NomeClasse”

Page 34: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

MÉTODO SET

O nome do método é iniciado

com set seguido do nome do atributo

com a primeira letra maiúscula

O método set é público

Acessa um atributo

privado

Os atributos são privados

O método é void pois não

retorna nenhum valor, apenas modifica o valor

Do atributo idade

Page 35: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

MÉTODO GET

O nome do método é iniciado

com get seguido do nome do atributo

com a primeira letra maiúscula

Como o atributo idade é um inteiro

o método vai retornar um inteiro

Retorna o valor do atributo

Page 36: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

COMPLETO

Page 37: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

HERANÇA

Permite que programadores aproveitem código de classes previamente construídas para criar novas classes.

As classes novas herdam todas as características das classes já criadas

Page 38: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

HERANÇA

Page 39: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

HERANÇA

• Observe que herdamos

características dos animais.

• Implemente as classes que

compõem o diagrama ao

lado

Page 40: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

HERANÇA

Page 41: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

HERANÇA

Page 42: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

CLASSE PAI E FILHA

• Extends pai

• Herda os atributos e métodos da classe pai

Page 43: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

MODO DE USO

• Note que o atributo nome e o atributo idade são da classe pai

Page 44: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

INTERFACES GRÁFICAS

• A criação de interfaces gráficas, também chamado de Graphical User Interface (GUI), é um

processo que necessita de grande dedicação, pois por meio delas o usuário percebe e interage

com o sistema.

• Todo o processo de criação de uma interface é necessário seguir as orientações de boas

práticas na utilização de componentes, inclusive quanto ao posicionamento e agrupamento.

Page 45: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

A CONSTRUÇÃO

• A construção de interfaces gráficas é feita a partir da inserção de componentes em uma tela,

como por exemplo, botões, caixas de seleção e a própria representação da tela, dentre outros.

Todos esses componentes estão disponíveis dentro de bibliotecas específicas

Page 46: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

JAVA SWING

• É uma biblioteca que vem incorporada no Java Development Kit, dispondo de diversos

elementos para a produção de telas.

Page 47: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

EXEMPLO DE FRAME OU TELA UTILIZANDO O SWING DO JAVA

Page 48: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

EDITOR PARA INTERFACES GRÁFICAS ACOPLADO AO ECLIPSE

Page 49: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação
Page 50: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação
Page 51: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação
Page 52: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

BORDERLAYOUT

• NORTH, SOUTH, EAST, WEST e

CENTER

Page 53: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação

JFORMATTEDTEXTFIELD

• MaskFormatter (“###.###.###-##”)

Page 54: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação
Page 55: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação
Page 56: HISTÓRICO E INTRODUÇÃO À ORIENTAÇÃO A OBJETOS · Java. MULTIPLATAFORMA São aquelas linguagens que podem ser ... Objetos As classes nada mais são do que moldes para criação