Anda di halaman 1dari 38

INTRODUO POO E JAVA

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Tpicos da Aula
Conceitos fundamentais de software Programao orientada a objetos e reutilizao de software Um pouco da histria de Java Tecnologia Java

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

CONCEITOS FUNDAMENTAIS DESENVOLVIMENTO DE SOFTWARE


Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

O que software?
Programa de computador + Documentao Classificao fundamental
Produtos genricos (ex. MS Office) Produtos encomendados (ex. Locadora do Z)

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Crise do Software (1968)


Custos de hardware caindo Custos do software subindo Avanos em hardware
Permitem desenvolvimento de sistemas cada vez mais complexos

Resultado (software)
Custos altos, projetos atrasados, sistemas no confiveis, desempenho insatisfatrio, etc...
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Software est em todo lugar

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Sistemas Crticos

Equipamentos mdicos
Extremamente crticos Lidam com vidas

Caixas eletrnicos
Prejuzos financeiros

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Confiabilidade de Software

Exemplo: Vo Air France Rio - Paris


1. Dados conflitantes (falha nos sensores) 2. Sistema assume o controle (piloto automtico) 3. Piloto tenta reiniciar o sistema (boot) 4. Em 4 minutos o avio mergulha no oceano

The Last Four Minutes of Air France Flight 447. http://www.spiegel.de/international/world/0,1518,679980,00.html

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Preo e Desempenho
Pouco espao na memria Grande variao em caractersticas de aparelhos

Celular

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

UMA INTRODUO PROGRAMAO ORIENTADA A OBJETOS

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

10

Programao Orientada a Objetos

Reutilizao de Software Vantagens


Software mais confivel (j foi usado antes) Sistemas mais baratos (parte j estava pronto) Projetos mais elegantes e eficientes

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

O paradigma da Orientao a Objetos


Um paradigma uma forma de abordar um problema. O paradigma da orientao a objetos surgiu no fim dos anos 60. Hoje em dia, praticamente suplantou o paradigma anterior, o paradigma estruturado...
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

O paradigma da Orientao a Objetos


Alan Kay, um dos pais do paradigma da orientao a objetos, formulou a chamada analogia biolgica. Como seria um sistema de software que funcionasse como um ser vivo?

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Analogia Biolgica
Cada clula interagiria com outras clulas atravs do envio de mensagens para realizar um objetivo comum. Adicionalmente, cada clula se comportaria como uma unidade autnoma.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Analogia Biolgica
De uma forma mais geral, Kay pensou em como construir um sistema de software a partir de agentes autnomos que interagem entre si. Com isso, ele estabeleceu os princpios da orientao a objetos.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Orientao a Objetos - Princpios


Tudo um objeto. Pense em um objeto como uma super varivel: ele armazena dados, mas voc tambm pode fazer requisies a esse objeto, pedindo que ele faa operaes sobre si prprio. Em teoria, voc pode representar qualquer elemento conceitual no problema que voc est tentando resolver (cachorros, livros, scios, emprstimos, etc.) como um objeto no seu programa.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Orientao a Objetos - Princpios


Um programa uma coleo de objetos dizendo uns aos outros o que fazer. Para fazer uma requisio a um objeto voc manda uma mensagem para este objeto. Mais concretamente, voc pode pensar em uma mensagem como sendo uma chamada de um procedimento ou funo pertencente a um objeto em particular.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Orientao a Objetos - Princpios


Um objeto pode ser composto por vrios outros objetos Em outras palavras: voc pode criar um novo tipo de objeto empacotando objetos existentes. Dessa forma, voc pode adicionar complexidade a um programa e escond-la por trs da simplicidade de uso dos objetos.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Orientao a Objetos - Princpios


Todo objeto tem um tipo. Usando as palavras certas, cada objeto uma instncia de uma classe, onde classe um sinnimo de tipo. A questo mais importante relativa a uma classe que mensagens eu posso enviar para uma instncia dessa classe?

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Orientao a Objetos - Princpios


Todos os objetos de um dado tipo podem receber as mesmas mensagens. Alm disso, uma vez que, por exemplo, um objeto do tipo crculo tambm um objeto do tipo forma geomtrica, o objeto crculo aceita qualquer mensagem endereada a uma forma geomtrica. Essa capacidade de subtituio de um objeto por outro um dos mais poderosos conceitos em orientao a objetos.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

10

Objeto
Definio:
Um conceito, uma abstrao com significado especfico em um contexto

Propsito:
Entidade de software que reflete de alguma forma o mundo real Representar uma entidade do mundo real

Objetos possuem:
Identidade Conjunto de caractersticas que determinam seu estado Comportamento especfico definido por um conjunto de aes

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Abstrao
Uma abstrao qualquer modelo que inclui os aspectos relevantes de alguma coisa, ao mesmo tempo em que ignora os menos importantes.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

11

Exemplos
Beija-Flor
Identidade: o beija-flor que vem ao meu jardim Caractersticas:

penas azuis bico fino vo rpido


Comportamento:

voar piar

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Exemplo
Pessoa
Identidade: Mrio Caractersticas:

olhos pretos nasceu em 16/02/70 pesa 70kg mede 1,70m


Comportamento:

andar falar comer rir


Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

12

Exemplo
Telefone
Identidade:: nmero 2576-0989 Caractersticas:

azul 2.4 GHz tone


Comportamento:

tocar discar

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Exemplo
nibus
Identidade: placa LXY 7684 Caractersticas:

cor amarela 30 assentos a diesel


Comportamento:

frear andar correr buzinar acelerar

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

13

Objeto
Representao
Identidade Caractersticas (estado)

Comportamento

Servios, Interface ou protocolo Mrio

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Objeto
Implementao
Interface Visvel
Conjunto de operaes

Parte encapsulada (escondida)


Estado do Objeto - Atributos Implementao de suas operaes - Mtodos

Estado do Objeto (valor de seus atributos)


Disciplina : Programao Orientada a Objetos

Servios, Operaes ou Interface da Classe


Professor Otaviano Silvrio
www.otaviano.sil.inf.br

14

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Encapsulamento
Na terminologia da orientao a objetos, dizse que um objeto possui uma interface. A interface de um objeto o que ele conhece e o que ele sabe fazer, sem descrever como o objeto conhece ou faz. A interface de um objeto define os servios que ele pode realizar e conseqentemente as mensagens que ele recebe.
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

15

Encapsulamento
Uma interface pode ter vrias formas de implementao. Mas, pelo Princpio do Encapsulamento, a implementao de um servio no objeto servidor no importa para o objeto cliente. (O cliente confia em interfaces e no em implementaes)
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Encapsulamento

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

16

Objetos e Mtodos
Um objeto composto por um conjunto de dados privados um conjunto de mtodos que atuam sobre estes dados.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Objetos e Mtodos

Variveis locais a cada objeto

OBJETO Dados Privados

Mtodos

Todos os elementos do sistema so representados por objetos que podem ser gerados um nmero arbitrrio de vezes durante a execuo do programa.

Mtodos so formados por sua interface e implementao


Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

17

Mtodos e Objetos
Em um programa, a declarao de um novo objeto deve ser constituda dos seus dados privados e de seus mtodos; Mtodos:
Interface: interface descreve a parte visvel do mtodo, seu nome, tipos de parmetros, e valor de retorno. Implementao: implementao contm o cdigo efetivo para operao, inclusive chamadas a outros mtodos do objeto.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Mtodos e Objetos

Exemplo
Crculo X, Y, Raio

CalculaArea CalculaPerimetro DesenhaCirculo

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

18

Mtodos e Objetos
Como seria a interface do mtodo CalculaArea? Como seria sua implementao?

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Mtodos e Objetos Exerccios


Esboce um objeto para calcular propriedade geomtricas de retngulos. Esboce um objeto chamado Mdias, cujo o objetivo calcular diferentes tipos de mdias (aritmtica, ponderada, geomtrica, etc).

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

19

CLASSIFICAO

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Classe
Definio:
Abstraes utilizadas para representar um conjunto de objetos com caractersticas e comportamento idnticos

Uma classe pode ser vista como uma fbrica de objetos Tecnicamente falando, objetos so instncias em tempo de execuo de uma classe
Todos os objetos so instncias de alguma classe Todos os objetos de uma classe so idnticos no que diz respeito a sua interface e implementao (o que difere um objeto de outro seu estado e sua identidade)
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

20

Exemplo

classe

Identidade::o beija-flor que vem ao meu jardim Caractersticas: instncia da classe

cor das penas: azuis formato do bico: fino velocidade de vo: rpida

(objeto)

Comportamento:

voar piar
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Exemplo

classe

Identidade:: meu pombo correio Caractersticas:

cor das penas: cinza formato do bico: curto velocidade de vo: mdia
Comportamento:

instncia da classe (objeto)

voar piar
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

21

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

HISTRICO DAS LINGUAGENS

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

22

Histrico das Linguagens de Programao


Anos 1940 - alterao fsica de circuitos eletrnicos.
Os programadores concebiam os comandos de seus programas como instrues de mquina para o computador;

Anos 1950 - linguagens montadoras (Assembler), viso lgica.


Primeiro nvel de abstrao, com o surgimento da primeira camada entre os comandos fsicos do computador e as instrues fornecidas pelos programadores.

Anos 1960 - surgem as primeiras linguagens de alto nvel;


Segundo nvel de abstrao: as linguagens comeam a se distanciar da viso de mquina para permitirem a codificao mais prxima da concepo de resoluo de problemas.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

45/59

Histrico das Linguagens de Programao


Anos 1970 programao estruturada
Surge a programao funcional, com estrutura de blocos, funes e bibliotecas (fim do comando goto);

Anos 1980 orientao a objetos


Consolidam-se as linguagens baseadas na abstrao da orientao a objetos, em especial as linguagens hbridas (que aproveitavam o legado estruturado da dcada anterior), como o C++.

Anos 1990 - Internet


Com o surgimento da Internet vem a gerao de linguagens voltadas programao em rede, com base consolidada na orientao a objetos.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

46/59

23

O Objetivo das Linguagens de Programao


A maioria das linguagens foi concebida para tratar problemas sob determinado enfoque
Fortran, Pascal = Cientfica; Cobol = Economia; Prolog, LISP = Inteligncia Artificial; Clipper = Banco de dados;

C e C++: todas as reas


em especial na construo de outros ambientes

JAVA: todas as reas


em especial no que envolver a Internet, sistemas em rede e computao mvel

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

A rvore Genealgica das Linguagens


Simula Algol Pascal Objective C
| 1960 |
1965

Smaltalk
Borland

Pascal objects

Delphi

| 1970

|
1975

| 1980

|
1985

| 1990

|
1995

| 2000 Microsoft

Sun

Java BCPL CPL B C


AT&T Bell

C#

C++
AT&T Bell Orientao a objetos

ANSI C++
Anlise orientada a objetos Anlise Estruturada |

ISO C++
UML

Programao Projeto Estruturada Estruturado | | |

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

24

A Famlia da Linguagem JAVA


Algol 1960 Simula 1967 Smaltalk 1972 CPL 1963 BCPL 1968 B 1970 AT&T Bell C 1972 ANSI C 1983 AT&T Bell Objective C 1978 C++ 1980 AT&T Bell
ANSI C++ 1994 ISO C++ 1998

Pascal 1970 Pascal Objects 1993 Delphi 1995

Java 1996 SUN

C# 2001 Microsoft

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

49/59 Grupo Stela/UFSC

Fonte: Montenegro, F.

Histrico Linguagem Java


Incio: - Projeto Green:
- 1991 - James Gosling e outros engenheiros da Sun - objetivo: criar pgms para controlar produtos eletrnicos - linguagem Oak baseada em C++
As A

tentativas frustradas:

- *7 - controle remoto inteligente - sem patrocnio

influncia da Web:
- 1994 - HotJava utilizando as funcionalidades adicionais de Java (independncia de plataforma, confiabilidade, segurana, proc. tempo real, etc.) - 1995 - Netscape Navigator 2.0 compatvel com Java 1.0

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

25

Java para vrios Ambientes

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

JVM Java Virtual Machine


Mquina imaginria implementada como uma aplicao de software em uma mquina real

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

26

Princpios da Linguagem JAVA


Java :
Uma Linguagem de Programao; Um Ambiente de Desenvolvimento; Um Ambiente de Aplicativos.

Portabilidade do cdigo; Possibilidade de programas executarem mais de uma tarefa (multithreading); Verificao automtica de cdigo carregado para garantir a segurana (ex: applets acessando disco); Programao centrada na rede. Substituio de herana mltipla por interface Arrays verdadeiros + ausncia de aritmtica de ponteiro
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

53/59

Conceito do JAVA
J2EE
um conjunto de tecnologias que fornecem APIs e um ambiente para desenvolvimento e execuo de aplicaes coorporativas.

J2SE
Contm as classes principais da plataforma Java, e chamado s vezes de Core Java Plataform.

J2ME
o Java para pequenos dispositivos, desde palms at celulares.
54/59

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

27

A Mquina Virtual JAVA


Mquina imaginria que implementada pela sua simulao em uma mquina real. O cdigo para a Mquina Virtual Java est armazenado em arquivos .class, cada um contendo cdigo para ao menos uma classe.
Sun Education Services Java Programming Language Setembro 1999
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

A mquina Virtual Java


Fornece um conjunto de especificaes de plataforma de hardware para qual todo o cdigo Java compilado; Interpreta byte codes (que so independentes de plataforma de hardware); Pode ser implementada tanto na forma de software como de hardware (computao mvel) Possui cdigo compacto; Torna a linguagem JAVA portvel para diversas plataformas. Qualquer interpretador JAVA (seja para desenvolvimento de tecnologia JAVA ou um browser que rode applets) tem sua mquina virtual.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

56/59

28

A Mquina Virtual JAVA - JVM


Cabe ao interpretador Java de cada plataforma de hardware especfica assegurar a execuo do cdigo compilado para a JVM.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

57/59

O que h na Mquina Virtual JAVA


Conjunto de Instrues (equivalente a uma CPU) Conjunto de registros Arquivo no formato class Pilhas Coletor de lixo (garbage collection heap) rea de memria

O formato do cdigo da MVJ se d por byte codes compactos e eficientes. A maioria da checagem de tipo feita em tempo de compilao.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

58/59

29

Garbage Collection (Coletor de Lixo)


Toda a alocao de memria exige a sua liberao; Nas linguagens tradicionais a liberao de memria dinmica da responsabilidade do programador; Java fornece um sistema a nvel de thread para registrar a alocao de memria; Verifica e libera memria que no est sendo utilizada; Para coletar a memria dinmica no utilizada a MVJ utiliza uma thread de baixa prioridade na biblioteca System (System.gc()). Ela pode tambm ser chamada de forma explcita pelo programador.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

59/59

Garbage Collection (Coletor de Lixo)


A Linguagem Java realiza a liberao de memria, que antes era responsabilidade do programador.

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

60/59

30

Viso Geral
Fase 1 Editor Fase 2 Compilador Disco Fase 3 Carregador de Classes
Memria Principal

Disco

O programa criado no editor e armazenado em disco. O compilador cria bytecodes e os armazena em disco.

O carregador de classe coloca bytecodes na memria. Disco


. . .
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Disciplina : Programao Orientada a Objetos

61/59 Fonte: Deitel & Deitel, 2003.

Viso Geral
Fase 4 Verificador de bytecodes
Memria Principal

. . .

O verificador de bytecodes confirma que todos os bytecodes so vlidos e no violam restries de segurana do Java

Fase 5

Intepretador

Memria Principal

Fonte: Deitel & Deitel, 2003.

. .

O interpretador l os bytecodes e os traduz para uma linguagem que o computador pode entender, possivelmente armazenando valores dos dados enquanto executa o programa.
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Disciplina : Programao Orientada a Objetos

31

DE PROCEDIMENTAL PARA OO
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Programao Procedimental
#define MAXCLIENTES 10

Definio de Constantes

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

32

Programao Procedimental
#define #define MAXCLIENTES MAXCLIENTES 10 10 typedef struct { char *nome; char *endereco; } Cliente;

Definio de Tipos

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Programao Procedimental
#define #define MAXCLIENTES MAXCLIENTES 10 10 typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes;

Definio de Variveis Globais

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

33

Programao Procedimental
#define #define MAXCLIENTES MAXCLIENTES 10 10 typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes;

Cliente* criarCliente() { ... } void criarClientes () { ... for (...) { ... criarCliente(); } }

Definio de funes

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Programao Procedimental
#define #define MAXCLIENTES MAXCLIENTES 10 10 typedef struct { char *nome; char *endereco; } Cliente; Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes;

Cliente* criarCliente() { ... } void criarClientes () { ... for (...) { ... criarCliente(); } } int main () { ... criarClientes(); Disciplina } : Programao Orientada a Objetos

Definio da funo main


Professor Otaviano Silvrio
www.otaviano.sil.inf.br

34

Programao Procedimental
Estrutura do Programa
#define MAXCLIENTES 10 typedef struct { char *nome; char *endereco; } Cliente;

Definio de Constantes Definio de Tipos

Cliente *meusClientes[MAXCLIENTES]; // Cliente meusClientes[MAXCLIENTES]; // Cliente **meusClientes;

Definio de Variveis Globais

Cliente* criarCliente() { ... } void criarClientes () { ... for (...) { ... criarCliente(); } } int main () { ... criarClientes(); Disciplina : Programao Orientada a Objetos }

Definio de funes

Definio da funo main


Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Migrando para Java


Procedimental Orientado a Objetos
Definio de Classes

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

35

Programao OO
public class Cliente { String nome; String endereco; public Cliente (String n, String e) { nome = n ; endereco = e; } } public class Clientes { static final MAX = 10; Cliente vetorClientes[] = new Cliente[MAX]; public Clientes () { ... for (...) { ... new Cliente(); } } public class Teste { public static void main (String args) { Clientes meusClientes = new Clientes(); } : Programao Orientada a Objetos Disciplina }

Definio de Classe

Definio de Classe

Definio de Classe

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

36

CLASSE - Exemplo

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

CLASSE - Exemplo

Disciplina : Programao Orientada a Objetos

Professor Otaviano Silvrio


www.otaviano.sil.inf.br

37

Exemplo

classe

Identidade: Telefone da minha casa Caractersticas:

marca: Siemens nmero: 2576-0989 discagem: pulso


Comportamento:

instncia da classe (objeto)

tocar discar
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

Exemplo

classe

Identidade: Meu celular Caractersticas:

marca: Nokia nmero: 99193467 discagem: tom


Comportamento:

instncia da classe (objeto)

tocar discar
Disciplina : Programao Orientada a Objetos
Professor Otaviano Silvrio
www.otaviano.sil.inf.br

38

Anda mungkin juga menyukai