Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objectos e Classes
Barnes, J.B. e Klling, M. Objects First with Java A Practical Introduction Using BlueJ CAPTULO 1
Objectos e Classes
Escrever um programa informtico numa linguagem orientada por objectos Criar um modelo de uma parte do mundo Construdo com base nos objectos que existem no contexto do problema Necessrio representar objectos no modelo Objectos e Classes
2
Objectos e Classes
Objectos = coisas com caractersticas Classes = descrevem, de forma abstracta, os objectos de um dado tipo (conceitos) Exemplo:
Carro Objecto ou Classe? Os carros tm uma cor, um depsito, O meu carro cinzento, est no parque,
3
Criar Objectos
Utilizar o BlueJ Exemplo
Abrir projecto Shapes Conjunto de classes Criar circle1, circle2 new circle()
Invocao de mtodos
Os objectos tm operaes que os podem manipular: os MTODOS Os mtodos podem ser invocados Como no BlueJ
Parmetros
Os mtodos podem requerer valores na invocao: os PARMETROS Cada mtodo indica que valores necessita
No BlueJ : pedido parmetro(s) numa janela de dilogo quando o mtodo invocado
Informao sobre o mtodo dada pela sua ASSINATURA Os parmetros indicados entre ( )
Para cada parmetro, indicado um tipo e um nome
6
Tipos de Dados
O TIPO define o tipo de dados do parmetro ASSINATURA indica que parmetros so necessrios para executar o mtodo Exemplos:
void moveHorizontal(int distance) void changeColor(String newColor)
Instncias Mltiplas
No BlueJ Com uma classe, posso criar o n de objectos que quiser (todos do mesmo tipo) Cada objecto uma instncia de uma classe Cada objecto tem a sua posio, a sua cor, Os atributos de um objecto podem ser alterados invocando os mtodos (s altera um objecto) No BlueJ
8
Estado
Ao conjunto dos valores dos atributos de um objecto chama-se ESTADO
Circle: posio, dimetro, Visvel,
No BlueJ, opo Inspect permite inspeccionar estado de um objecto O estado pode ser mudado pelos mtodos Em Java: atributos so chamados campos No BlueJ: inspeccionar objectos da mesma classe
9
O que um objecto?
Todos os objectos da mesma classe tm os mesmos campos:
Quantidade, tipo e nome dos campos so iguais MAS valor dos campos em cada objecto podem ser diferentes
11
Cdigo Fonte
Cada classe tem associado cdigo fonte, que define a classe:
Como se chama Que campos e mtodos tem O que fazem os mtodos
No BlueJ: opo Open Editor Programar ESCREVER cdigo fonte Vamos utilizar a linguagem de programao JAVA BlueJ: Compilar depois de alterar cdigo fonte
13
Valores de Retorno
BlueJ: projecto lab_classes (estudantes e turnos) Assinatura do mtodo indica se retorna ou no um resultado
String getName() void changeName(String)
VOID indica que mtodo no retorna resultado Assim mtodos servem para
ALTERAR valores dos campos SABER valores dos campos
14
Os objectos podem ser passados como parmetros de mtodos de outros objectos A assinatura do mtodo indica qual a classe que deve ter o objecto
void enrollStudent(Student newStudent)
15
Resumo
Objectos so criados a partir de classes Objectos tm valores em campos que definem o seu estado Os objectos tm mtodos que so utilizados para comunicarmos com eles (para alterar o objecto ou obter informao sobre o objecto) Mtodos podem ter parmetros e retornar resultados com tipos de dados pr-definidos Programar escrever a definio de classes em cdigo fonte (Java) Conceitos fundamentais:
Objecto, classe, mtodo, parmetro, tipo de dados
16