1. Apresentação - IC

Propaganda
1. Apresentação
Neste capítulo estão descritos os objetivos gerais do livro, os requisitos
desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos
necessários em sua utilização.
Contém também instruções para teste do ambiente de programação utilizado
para o desenvolvimento dos exercícios propostos ao longo do texto e, ao final,
alguns exercícios para avaliação dos conhecimentos prévios do estudante.
1.1. Objetivos
Este livro tem como objetivo dar ao estudante conhecimentos básicos de programação
orientada a objetos em Java, a partir de uma compreensão abrangente dos conceitos de
orientação a objetos. Ao concluir o curso, o estudante estará apto não só a elaborar seus
primeiros programas em Java como também terá adquirido uma base sólida de
conhecimentos que lhe permitirá avançar em seus estudos, seja na direção de um maior
aprofundamento na linguagem Java ou outras linguagens orientadas a objetos, como na
direção de outras técnicas orientadas a objetos para desenvolvimento de software.
1.2. Necessidade de um Livro Texto Didático
1.3. Pré-requisitos Desejáveis
É suposto que o estudante já domine os conceitos básicos de programação estruturada, tais
como, algoritmos, tipos de dados, variáveis, expressões aritméticas e lógicas, estruturas de
controle do fluxo de execução, funções e subrotinas. Recomendamos ao estudante que
queira fazer uma revisão desses conceitos antes de iniciar o curso consultar [Saliba92].
É altamente desejável que o estudante seja versado numa linguagem de programação
convencional baseada em procedimentos, como Basic, C, Clipper, Cobol-85 ou Pascal.
1.4. Organização do Livro
O presente livro texto está subdividido em quatro partes, descritas a seguir. Cada parte é
concluída com a apresentação de um estudo de caso que utiliza os conceitos daquela parte.
O diagrama da figura 1 apresenta as dependências existentes entre as partes e os capítulos
contidos no livro..
Parte I: Capítulos 2 a 6
Parte I apresenta os fundamentos básicos da programação orientada a objetos.
No capítulo 2 (Fundamentos de Estruturação de Sistemas) são discutidos os mecanismos
básicos que utilizamos para organizar o nosso conhecimento e administrar a complexidade
do mundo em que vivemos
No capítulo 3 (Introdução à Programação Orientada a Objetos) são revistas as origens da
Programação Orientada a Objetos, situando-a no contexto mais geral da evolução das
técnicas de programação e das demais técnicas ditas OO. Ainda nesse capítulo, são
apresentados os conceitos de ocultamento da informação, encapsulamento e tipos abstratos
de dados.
No capítulo 4 (Objetos e Classes) são apresentados os conceitos de objetos, classes,
métodos e mensagens, explicando como os objetos interagem num programa para realizar
uma ação determinada.
2
Cap. 1 / Apresentação
O capítulo 5 (O Ciclo de Vida dos Objetos) apresenta os conceitos de criação e destruição
de objetos, completando um conjunto mínimo de conhecimentos que permita ao estudante
compreender como funciona um programa orientado a objetos.
O capítulo 6 (Estudo de Caso: Caixa Automático) desenvolve um programa exemplo em
Java de aplicação em Java, utilizando apenas os conceitos apresentados na parte I.
Parte II: Capítulos 7 a 9
Parte II complementa os conceitos básicos de Orientação a Objetos apresentados na
primeira parte.
No capítulo 7 (Herança) são apresentados os conceitos de herança simples e múltipla e no
capítulo 8 (Polimorfismo e Acoplamento Dinâmico) são apresentadas as diferentes
modalidades de polimorfismo. Nos dois casos, são discutidas as implicações do uso desses
mecanismos.
O capítulo 9 (Estudo de Caso: Controle de Biblioteca) apresenta um outro estudo de caso
englobando os conceitos apresentados nas partes I e II.
Parte III: Capítulos 10 a 13
Parte III trata de alguns mecanismos mais avançados e extremamente importantes para a
obtenção de sistemas orientados a objetos bem estruturados em Java.
O capítulo 10 (Classes Abstratas e Concretas) apresenta o conceito de classes abstratas e
discute as vantagens e cuidados a serem observados em sua utilização.
O capítulo 11 (Interfaces) apresenta o conceito de interfaces e faz uma comparação entre
hierarquias de interfaces e de classes.
O capítulo 12 (Tratamento de Exceções) descreve os mecanismos de Java para tratamento
de exceções.
O capítulo 13 (Estudo de Caso: Sistema de Folha de Pagamento) desenvolve um outro
estudo de caso, onde são utilizados todos os mecanismos apresentados nas partes I, II e III.
Cap. 1 / Apresentação
3
I
2
3
5
4
6
II
8
7
9
III
11
10
13
12
IV
14
15
Fig. 1.3 - Dependências Entre os Capítulos do Livro
Parte IV: Capítulos 14 e 15
Trata de dois outros mecanismos de Java, de aplicação mais restrita que os mecanismos
descritos na 3a. parte.
O capítulo 14 (Metaclasses) apresenta o conceito de metaclasses, discutindo sua aplicação
e os problemas envolvidos com a sua utilização.
O capítulo 15 (Pacotes) apresenta o conceito de pacote e sua aplicação.
1.5. Como Utilizar esse Livro
O plano do curso, tal como apresentado na seção anterior, adapta-se a diferentes situações,
conforme os conhecimentos prévios dos estudantes e os objetivos específicos do curso.
Estudantes que já tenham alguma experiência com outra linguagem de programação
orientada a objetos, como C++ por exemplo, podem utilizar as partes I e II apenas para uma
revisão dos conceitos de OO, detendo-se mais nos estudos de caso (capítulos 5 e 8) e nas
partes III e IV. Por outro lado, um curso introdutório a orientação a objetos pode se limitar ao
conteúdo das partes I e II.
Para desenvolvimento integral desse curso estima-se que sejam necessárias 48 horas aula,
sendo sugerida a sua distribuição em 24 sessões de 2 horas, da seguinte forma:
Sessão
Capítulo do
Livro
1
2
Conteúdo Programático
Fundamentos e histórico de orientação a
objetos
Copyright © 2003, Cecília Rubira. Todos os direitos reservados.
Cap. 1 / Apresentação
4
2e3
3.1 a 3.3
Conceitos de objetos, classes, métodos
e mensagens
4
3.4 a 2.5
Definição de classes em Java
5
4
6
5.1 a 5.2
Estudo de caso I - análise e projeto
7e8
5.3 a 5.4
Estudo de caso I - implementação
9
6
Herança
10
7
Polimorfismo e Acoplamento Dinâmico
11 e 12
8.1 a 8.3
Estudo de caso II - análise e projeto
13 e 14
8.4 a 8.5
Estudo de caso II - implementação
15
9
Classes Abstratas
16
10
Interfaces
17
11
Tratamento de Exceções
18 e 19
12.1 a 12.3
Estudo de caso III - análise e projeto
20 a 22
12.4 a 12.5
Estudo de caso III - implementação
23
13
Meta classes
24
14
Pacotes
Ciclo de vida dos objetos
Dessa forma o curso pode ser inserido com facilidade numa disciplina de graduação de um
semestre (aproximadamente 20 semanas). Pode ser aplicado também em cursos de
programação com duração de aproximadamente 2 meses, com 3 sessões de 2 horas por
semana. Finalmente, estudantes ou profissionais com maior experiência em programação
podem utiliza-lo de forma intensiva, com sessões diárias, podendo concluí-lo em apenas 1
mês.
1.6. Recursos necessários
1.6.1. Ambiente de Hardware e Software
Para pleno aproveitamento do curso o estudante deverá ter acesso a um computador com
software apropriado para edição, compilação e execução de programas em Java.
Uma das grandes vantagens da linguagem de programação Java é a sua portabilidade, que
nos permite utiliza-la em praticamente qualquer tipo de computador, desde um PC
compatível rodando Windows 95 até as mais sofisticadas estações de trabalho.
A edição de um programa Java pode ser feita utilizando-se qualquer editor de textos simples,
tal como o EDIT do DOS ou WordPad do Windows 95.
Para compilação e execução é possível obter-se, gratuitamente, o Java SDK (Java Software
Development Kit), diretamente do site da Sun na Internet.
No Apêndice A deste curso estão descritos em detalhes todos os passos necessários para
preparação desse ambiente.
1.6.2. Teste do Ambiente
Para uma rápida verificação do ambiente instalado recomendamos a edição, compilação e
execução de um pequeno programa Java, de acordo com os seguintes passos:
Cap. 1 / Apresentação
5
1.5.2.1. Edição do Programa
Utilizando o editor de textos disponível no ambiente crie um arquivo de nome hello.java
contendo as seguintes linhas:
class hello {
static public void main(String argv[]) {
System.out.println("Hello World");
}
}
A digitação deve ser feita utilizando letras maiúsculas e minúsculas, exatamente como
aparecem no programa. Em Java o nome hello é diferente de Hello.
Ao utilizar um editor de textos que possua recursos de formatação, como o WordPad,
lembre-se de salvar o arquivo em formato texto puro, sem caracteres de formatação. No
caso do WordPad, por exemplo, utilize a opção "Salvar como ..." e selecione "Tipo de
documento: Documento Texto". Verifique também se o nome do arquivo salvo possui apenas
a extensão .java. Alguns editores acrescentam a extensão .txt automaticamente, criando
arquivos com nomes como hello.java.txt ou hello.txt. Se necessário, mude o nome
do arquivo para hello.java após salva-lo.
1.5.2.2. Compilação do Programa
Chame o compilador Java fornecendo o arquivo hello.java como entrada. Se estiver
sendo utilizado o Java SDK, execute o comando:
javac hello.java
Note que o nome do arquivo de entrada também é sensível a letras maiúsculas ou
minúsculas e que a extensão .java deve ser incluída.
Se recebida alguma mensagem de erro verifique se o conteúdo do arquivo corresponde
exatamente às linhas do programa apresentado acima, efetue as correções necessárias e
compile-o novamente.
Como resultado da compilação será criado um arquivo de nome hello.class, que contém
o código executável Java.
1.5.2.3. Execução do Programa
Execute o interpretador Java, fornecendo o arquivo hello.class como entrada. Se estiver
sendo utilizado o Java SDK, execute o comando:
java hello
Note que, assim como na compilação, o nome do arquivo de entrada também é sensível a
letras maiúsculas ou minúsculas, porém a extensão .class não deve ser incluída.
Como resultado da execução o programa irá enviar uma única mensagem na tela, conforme
abaixo:
Hello World
1.7. Avaliação inicial
Seguem exercícios para avaliação dos conhecimentos de programação do estudante. Para
esclarecimento de dúvidas quanto à sintaxe básica de Java consulte o Apêndice B.
Copyright © 2003, Cecília Rubira. Todos os direitos reservados.
Download