Você está na página 1de 6

1

ETB_____________
Escola Técnica de Brasília
CURSO TÉCNICO DE INFORMÁTICA FOLHETO 1Un3
Linguagem Técnica de Programação I, Unidade III: Fundamentos da Linguagem
Java (FLJ). Prof. Regis Lima

Antes de começar:
Descubra o que esperar deste tutorial e como obter o máximo dele.
Neste folheto, você iniciará o seu contato com o mundo da
programação Orientada a Objeto (OOP). Conhecerá os conceitos de
pacotes, classes, objetos, atributos e métodos, componentes fundamentais
para se construir qualquer aplicativo Java.

Pré-Requisitos:
Leitura Focada e prática constante

Objetivos:
Ao encerrar esta unidade você deverá estar apto como
programador/desenvolvedor, a saber, como é a organização de um
aplicativo Java e reconhecer dada uma situação problema os elementos:
pacotes, classes, objetos, atributos e métodos, além de desenvolver códigos
simples em Java utilizando estes elementos.

Programação Estruturada x OOP


Linguagens de programação estruturadas, como C e COBOL, seguem um
paradigma de programação diferente daquelas orientadas a objetos.
O paradigma de programação estruturada é altamente orientado a dados.
Você possui estruturas de dados e instruções do programa que atuam nesses
dados.
O projeto orientado a objeto cria um modelo do mundo real que pode ser
realizado em software.
Linguagens orientadas a objetos, como a linguagem Java, combinam
instruções de dados e programas em objetos.
Em vez de ter uma estrutura de dados com campos e transmitir essa
estrutura em toda a lógica do programa que atua nela, em uma linguagem
orientada a objetos, dados e lógica de programa são combinados.
Linguagem Técnica de Programação I, Unidade 3:Fundamentos da Linguagem Java
2

Estrutura de um programa Java


A linguagem Java é (principalmente) orientada a objetos. Se você não usou
uma linguagem orientada a objetos antes, os conceitos de OOP podem
parecer estranhos à primeira vista.
Estruturalmente, a linguagem Java começa com pacotes. Um pacote é o
mecanismo de namespace(evita colisão de nomes) da linguagem Java.
Dentro dos pacotes estão as classes e dentro das classes estão métodos,
variáveis, constantes e tudo mais.
A linguagem Java deriva da linguagem C, portanto suas regras de sintaxe
assemelham-se às regras de C. Por exemplo, os blocos de códigos são
modularizados em métodos e delimitados por chaves ({ e }) e variáveis são
declaradas antes que sejam usadas.

Noção de pacotes
Para definir um pacote, você usa a palavra-chave package seguida de um
nome de pacote legal, terminando com um ponto e vírgula. Geralmente os
nomes de pacotes são separados por pontos e seguem este esquema padrão
de fato :
package orgType.orgName.appName.compName;

Esta definição de pacote é dividida como a seguir:


• orgType é o tipo de organização, como com, org ou net.
• orgName é o nome do domínio da organização, como makotojava,
oracle ou ibm.
• appName é o nome do aplicativo, abreviado.
• compName é o nome do componente.

A linguagem Java não força você a seguir esta convenção de pacote. De


fato, não é necessário especificar um pacote, nesse caso, todas as suas
classes deverão ter nomes exclusivos e residirão no pacote padrão. Como
melhor prática, eu recomendo que você defina todas as suas classes Java
em pacotes nomeados conforme descrito aqui.

Noção de objeto
A metodologia OO é uma representação do mundo real. Se olharmos a
nossa volta tudo é objeto.
Tal como em sistemas reais, em um programa OO não existem meios de
abrir um objeto e olhar no seu interior, tão pouco alterar seu estado. Neste
paradigma, a única forma de fazer evoluir um programa é permitir que
objetos compartilhem informações entre si através de trocas explicitas de
mensagens. Uma mensagem consiste em uma requisição, onde o objeto
requisitante (sender) envia uma solicitação de serviço ao objeto requisitado

Linguagem Técnica de Programação I, Unidade 3:Fundamentos da Linguagem Java


3

(receiver). Este serviço, necessariamente, precisa pertencer à interface de


serviços oferecida pelo objeto requisitado.
Um objeto é uma entidade autocontida que contém identidade, atributos e
comportamento, e nada mais.

Um objeto bem escrito:


• Tem limites nítidos e bem definidos;
• Executa um conjunto finito de atividades;
• Conhece apenas sobre seus dados e quaisquer outros objetos
necessários para realizar suas atividades.

Noção de atributo
São informações representadas por uma estrutura de dados armazenados no
contexto do objeto que o caracterizam.
Um objeto tem identidade única porque o conjunto dos valores dos seus
atributos (estado interno do objeto) o tornam único.
O estado interno de um objeto pode conter tanto valores como
referenciar outros objetos.

Noção de método
No mundo real, tudo que foi criado, tem um comportamento, veio ao
mundo para cumprir uma ação, resolver um problema ou prestar um
serviço.
Na metodologia OO, um serviço é especificado para um objeto através de
um método, também chamado de comportamento do objeto. A natureza de
uma mensagem depende do tipo de ação fornecida pelo método ao qual ela
foi enviada.
Um método pode ser de acesso, o qual permite a leitura de informações que
estão localizadas no contexto do objeto requisitado, ou de modificação, que
possui a capacidade de alterar alguma informação armazenada no contexto
desse objeto.
O conjunto de todos os serviços, prestados por um objeto, compõem a
interface pública da sua classe.
Um método pode necessitar ou não de uma lista de argumentos para
cumprir a sua ação.

Noção de classe
Assim como no mundo real a classificação dos objetos é uma forma de
organizar uma estrutura e assim tornar mais fácil a sua localização. Ainda
considerando sistemas reais, é fácil notar que muitos objetos possuem
características estruturais semelhantes, embora todo objeto seja único. .

Linguagem Técnica de Programação I, Unidade 3:Fundamentos da Linguagem Java


4

Estes grupos de objetos com estruturas semelhantes são definidos em


termos de classes.
Classes consistem na unidade básica da construção de um programa OO.
Uma classe define o conjunto de atributos mantidos por um conjunto de
objetos e o comportamento que estes objetos devem respeitar.
Nesta nomenclatura, um objeto é dito instância de uma classe, ou seja, a
classe é um modelo para o objeto.

Noção de referência
Na programação OO, a evolução da execução se dá através da interação
entre objetos. Para tanto, os objetos trocam mensagens entre si. Como na
vida real, um objeto que deseja mandar uma mensagem a outro objeto
necessita alguma referência sobre o objeto destinatário. Esta referência tem
a função de endereçar o destinatário.
Para mandar uma solicitação de serviço para que um método execute uma
ação, utilizamos uma sequencia de referencias:
Pacote.Classe.Objeto.Metodo(Lista de argumentos);

Hierarquia de classes
Um OOP é escrito com um monte de classes que podem ter outras classes
associadas a ela. Comportamentos e atributos do objeto são encapsulados
nessas classes de maneira a mantê-los protegidos.
O que torna um OOP realmente poderoso é que estas classes podem ser
organizadas em hierarquias onde classes-filha(subclasses) herdam
(estendem) características comuns das classes-mãe (superclasses).
Uma classe-mãe é aquela que serve como base estrutural para derivação de
classes-filha mais complexas. Uma classe-filha assemelha-se a sua mãe,
mas é mais especializada. Com o paradigma orientado a objetos, é possível
reutilizar os atributos comuns e o comportamento da classe mãe, incluindo
nessas classes-filha atributos e comportamentos diferentes. (Você aprende
mais sobre herança no próximo folheto.)

Vamos compreender melhor a hierarquia com contexto a seguir:


Dentro da Biologia animal os seres humanos são uma classe e todos os
seres humanos são primatas, portanto os primatas são uma superclasse da
classe seres humanos. Ainda biologicamente falando, todos os são
mamíferos e todos os mamíferos são animais. Porém não somente os
humanos são primatas, os macacos também.
Apesar das diferenças biológicas, existe uma relação entre humanos e
macacos além de ambos serem primatas, eles são mamíferos e animais, o
que confirma uma hierarquia de classes.

Linguagem Técnica de Programação I, Unidade 3:Fundamentos da Linguagem Java


5

ANIMAIS

MAMÍFEROS

PRIMATAS

HUMANOS MACACOS

Figura 1. Hierarquia de classes

Modelagem OOP
O modelo de software ajuda a entender a informação, a função e o
comportamento de um sistema, tornando a tarefa de análise de requisitos
mais fácil e mais sistemática. O modelo concentra-se naquilo que o sistema
deve fazer, não em como ele o faz. Ele deve corresponder a uma
representação da informação que o software transforma, das funções que
viabilizam essa transformação e do comportamento do sistema quando essa
transformação está sendo executada.

Na construção de modelos pode ser feito uso de uma notação gráfica


descrevendo as informações, o processamento, o comportamento do
sistema e outras características. (Pressman, 1995)

Os domínios funcionais, comportamentais e de informação do software


podem ser divididos em partições. O particionamento decompõe o
problema em suas partes constituintes. Inicialmente, é feita uma
representação hierárquica da função ou da informação. A seguir, divide-se
em partições o elemento superior, ou expondo detalhes crescentes com um
deslocamento vertical na hierarquia ou decompondo funcionalmente o
problema com um deslocamento horizontal na hierarquia. (Pressman, 1995)

Linguagem Técnica de Programação I, Unidade 3:Fundamentos da Linguagem Java


6

Hierarquia ACM

Em um programa Java, podemos usar os mesmo recursos de uma


hierarquia de classes usando as suas bibliotecas de programação para
escrever nossos códigos sejam eles : textuais, com caixas de dialogo ou
gráficos.

Applet

jApplet

Program

Console Dialog Graphics


program program program

Figura 2. acm.program Hierarchy

Linguagem Técnica de Programação I, Unidade 3:Fundamentos da Linguagem Java

Você também pode gostar