SlideShare uma empresa Scribd logo
UNIJUÍ – DETEC – Ciência da Computação

Prof. Msc. Juliano Gomes Weber
(jgw@unijui.edu.br)

Linguagem de programação III
Notas de Aula – Aula 01
1º Semestre - 2010
jgw@unijui.edu.br
•

Objetivo da aula de hoje
•

•
•

Apresentações:
• Tópicos que serão abordados na disciplina;
• Alunos;
• Professor;
Sistemática de avaliação;
Revisão de conteúdo base para esta disciplina;

jgw@unijui.edu.br


Tópicos que serão abordados na disciplina


Persistência de Objetos - Banco de dados e Java



Programação em Rede - Sockets



Programação para Internet



Principal ferramenta NETBEANS IDE

Tecnologias Web

jgw@unijui.edu.br
Sobre vocês ?


Apresentação individual





Semestre letivo individual?
Trabalha na área?
Experiência com programação?
Experiência com Java?


Formação





Sobre o Professor

Bacharel em informática UNIJUI – 2001
Mestre em Computação - UFSM - 2009

Histórico Profissional






Unijuí - Programador Sênior;
Unicruz - Professor do curso de Ciência da computação;
Escola técnicas, Sistemas comercias, sistemas para
internet;
Desenvolvimento de sistemas complexos;


Análise e desenvolvimento de sistemas;
Sistemática de avaliação





Avaliação contínua e individual;
Trabalho para a disciplina (será definido em breve);
Provas;
Trabalhos individuais;
Início da revisão - Orientação à
objetos
Utiliza uma perspectiva mais humana de
observação da realidade, incluindo objetos,
classificação e compreensão hierárquica
Contexto Histórico
A





crise do desenvolvimento do software:
Demanda muito superior à capacidade de
desenvolvimento;
Qualidade insuficiente dos produtos;
Estimativas de custo e tempo raramente
cumpridas nos projetos.

 Surge

a Engenharia de Software
Engenharia de Software
Busca organizar esforços no desenvolvimento
de ferramentas, metodologias e ambientes de
suporte ao desenvolvimento de software
Programação Orientada a
Objetos
 Foco

nos dados (objetos) do sistema, não
nas funções
 Estruturação do programa é baseada nos
dados, não nas funções
 As funções mudam mais do que os dados
Paradigma
Orientado a Objetos
 Pressupõe

que o mundo é composto por

objetos
 Objeto é uma entidade que combina
estrutura de dados e comportamento
funcional
 Os sistemas são modelados como um
número de objetos que se interagem
Procedimental vs OO
Paradigma
Orientado a Objetos
A

orientação a objetos surgiu nos primórdios da
década de 70, com as linguagens ADA,
SIMULA e Small Talk.
 Ficou bastante difundida nos anos 80, com
linguagens como o C++, e teve uma recente
explosão em difusão nos anos 90, através da
linguagem Java.
 Hoje é um padrão de fato!
Benefícios da OO
 Reutilização
 Extensibilidade
 Manutenção
 Redução

na quantidade de erros
Encapsulamento








Usado para esconder detalhes de
implementação
Não é necessário saber como a classe está
implementada para chamar o método
necessário.
Basta saber a interface do método
Os atributos de um objeto só devem ser
manipulados pelos métodos do próprio objeto
(orientação a objeto pura).
Variáveis da Instância X da Classe
Variáveis da classe




Só existe uma cópia de cada variável
Todos as instâncias acessam a mesma cópia das variáveis
São criadas apenas uma vez assim que o sistema
reconhece a classe

Variáveis da Instância




Existe uma cópia para cada instância criada
Cada instância acessa a sua cópia
São criadas sempre quando uma nova instância é gerada
Identificando Objetos
 Em

uma sala existe um conjunto de
objetos físicos que podem ser facilmente
identificados, modelados e classificados
como objetos OO.

 Mas

em um problema onde o espaço é
uma aplicação de software, os objetos
podem não ser facilmente encontrados.
Identificando Objetos

Os objetos podem ser identificados
analisando-se o problema ou fazendo um
“parser gramatical” do texto contendo a
descrição do problema
 Objetos

são determinados sublinhando-se
cada substantivo;
Objetos, classes, métodos e
atributos

Detalhando...
Objetos
 Mundo

real formado por elementos: Objetos
 Objetos podem ser coisas concretas ou
abstratas
 Ex: Carro, Pessoa, Emissão de Nota, etc
Estado do Objeto
 Conjunto

de suas propriedades associadas a
seus valores correntes
 Propriedades geralmente referenciadas
como Atributos
 Ex:
Propriedades:
 Cor = Vermelha
 Ano = 2001
 Velocidade = 0 Km/h
 Combustível = Gasolina
Comportamento do Objeto
 Conjunto

de serviços ou operações que
outros objetos podem requisitar
 Operações geralmente referenciadas
como Métodos
 Representa como o objeto reage às
Mensagens a ele enviadas
Operações
 Ex





Acelerar ( )
Frear ( )
Acender Faróis ( )
Virar a Direita ( )
Identidade Única
 Objetos

têm existência própria
 São distintos mesmo se seus estados e
comportamento forem iguais
 Identificador que permite referência
inequívoca
 Ex
Ferrari do Luciano
Classes
 No

mundo real, diferentes objetos
desempenham o mesmo papel

Automóveis

A

estrutura e o comportamento comuns
dos objetos podem ser agrupados
Classes
 Modelo

que descreve a estrutura e o
comportamento de objetos comuns = Classe
 Objetos que se comportam da maneira
especificada pela classe são ditos Instâncias
dessa classe
 Ex
Ferrari do Luciano

é um Instância da Classe Automóvel
Classe abstrata


Pelo menos um de seus métodos está declarado mas não têm
implementação associada.


Método abstrato: método sem implementação



Não gera instância



Só pode ser usada como base para outras classes




herança

Cada subclasse deverá implementar o método abstrato da superclasse
(classe abstrata)
Exemplo

Pessoa
abstratos

telefone
alterarTelefone(tel.)

Professor

Aluno

telefone

telefone

alterarTelefone(tel.)

alterarTelefone(tel.)
Polimorfismo


Polimorfismo é a habilidade de diferentes instâncias, de classes
diferentes, responderem a mesma mensagem de diferentes maneiras.




executar métodos com a mesma assinatura mas implementados
de maneira diferente

Classe polimórfica:


quando instâncias suas ou instâncias de classes derivadas suas
possuem mensagens que nem sempre são respondidas da
mesma maneira - a resposta irá depender do contexto da
execução.
Restrição de acesso
(métodos e atributos)


Public: sem restrição. Qualquer objeto pode acessar tal método/atributo



Private: apenas o objeto que possui o método/atributo pode acessa-lo



Protect: apenas os objetos das classes do mesmo pacote podem
acessar o método/atributo



Default:



atributo -> C++: private / JAVA: private
método -> C++: private / JAVA: public
OO e JAVA
 Como

java?

implementar o paradigma OO em
Definindo Classes em Java
public class NomeDaClasse {
CorpoDaClasse
}

O corpo de uma classe pode conter
• atributos
• métodos
• construtores (inicializadores)
• outras classes...
Exemplo
public class LeImprime {
/** Lê e imprime um string */
public static void main(String[] args) {
String nome;
nome = Util.readStr();
System.out.println(nome);
}
}
Definindo Atributos em Java
public class Livro {
private int anoDePublicacao;
private int numeroDePaginas;
private String titulo;
...
}
 cada

atributo tem um tipo específico que
caracteriza as propriedades dos objetos da
classe
 int e String denotam os tipos cujos elementos
são inteiros e strings
Tipos em Java


Primitivos






char
int
boolean
double
...



Referência





classes (String,
Object, Livro, Conta,
etc.)
interfaces
arrays

Os elementos de um tipo primitivo são valores,
enquanto os elementos de um tipo referência
são (referências para) objetos!
Definindo Atributos em Java
public class Pessoa {
private int anoDeNascimento;
private String nome, sobrenome;
private boolean casado = false;
...
}
 vários

atributos de um mesmo tipo podem
ser declarados conjuntamente
 podemos especificar que um atributo deve
ser inicializado com um valor específico
Definindo Métodos em Java
public class Conta {
private String
numero;
private double
saldo;

}

public void creditar(double valor) {
saldo = saldo + valor;
}
...

Um método é uma operação que realiza ações
e modifica os valores dos atributos do objeto
responsável pela sua execução
Definindo Métodos em Java
public class Conta {
...

}

parâmetros
do método

public void debitar(double valor) {
saldo = saldo - valor;
}

tipo de
retorno

corpo do
método

Por quê o debitar não tem como parâmetro
o número da conta?
Outro exemplo...
public class <nome> {
public static void main (<parametros>) {
<declarações>
<comandos>
}
}

Onde, main: método por onde se inicia a execução
public: parâmetro de acesso
static: indica que main se aplica à classe
void: indica que main não retorna um valor
Definindo Métodos em Java
O

tipo do valor a ser retornado pelo método
 Nome do método
 Lista, possivelmente vazia, indicando o tipo e
o nome dos argumentos a serem recebidos
pelo método
Usa-se void para indicar que o método não retorna
nenhum valor, apenas altera os valores dos atributos
de um objeto
Definindo Métodos em Java
public class Conta {
private String numero;
private double saldo;

}

public String getNumero() {
return numero;
}
public double getSaldo() {
return saldo;
}
...

Os métodos que retornam valores como
resultado usam o comando return
O Corpo do Método
 Comandos

que determinam as ações do

método
 Estes comandos podem





realizar simples atualizações dos atributos de um
objeto
retornar valores
executar ações mais complexas como se
comunicar com outros objetos
Comunicação entre objetos
 Os

objetos se comunicam para realizar
tarefas
 A comunicação é feita através da troca de
mensagens ou chamada de métodos
 Cada mensagem é uma requisição para que
um objeto execute uma operação específica
conta.creditar(45.30)
variável contendo
referência para
objeto

nome do
método a ser
executado
Exercício
 Crie

 Crie

uma classe Pessoa com 2 atributos

uma classe Aluno que seja uma classe
filha da classe Pessoa

Mais conteúdo relacionado

PPTX
JAVA - Orientação a Objetos
PDF
Aula 02 - Principios da Orientação a Objetos (POO)
PPTX
Programação orientada a objetos
PPT
Introdução a programação Orientada a Objeto
PPT
Análise Orientada a Objetos - Objetos E Classes
PDF
Programação orientada a objetos – II
ODP
O paradigma da orientação a objetos
PDF
Programação Orientada a Objetos
JAVA - Orientação a Objetos
Aula 02 - Principios da Orientação a Objetos (POO)
Programação orientada a objetos
Introdução a programação Orientada a Objeto
Análise Orientada a Objetos - Objetos E Classes
Programação orientada a objetos – II
O paradigma da orientação a objetos
Programação Orientada a Objetos

Mais procurados (20)

PPT
Introdução à análise orientada a objetos parte 1
PDF
Programação Orientação a Objetos - Herança
PDF
Conceitos Básicos de OO e Java
PPT
Classes e Objectos JAVA
PPTX
Orientação a Objetos
PDF
Poo padadigmas
ODP
Java - Boas práticas
ODP
Paradigma Orientado a Objeto
PDF
Aula 09 - introducao oo
PDF
POO - 01 - Introdução ao Paradigma Orientado a Objetos
PPT
Conceitos básicos de programação orientada a objetos
ODP
Java 00 Poo
PPTX
Programação Orientada a Objetos - Uso da O.O. em Java
PDF
Java - Aula 2 - Orientado a Objetos
PPTX
ODP
Orientação a Objetos - Conceitos
PPT
Curso : Introdução Orientação a Objetos
PPT
Java Básico - Módulo 07: Introdução à programação orientada à objetos
PPTX
Programação C - Aula 1
PPT
Apresentação programação orientada à objetos
Introdução à análise orientada a objetos parte 1
Programação Orientação a Objetos - Herança
Conceitos Básicos de OO e Java
Classes e Objectos JAVA
Orientação a Objetos
Poo padadigmas
Java - Boas práticas
Paradigma Orientado a Objeto
Aula 09 - introducao oo
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Conceitos básicos de programação orientada a objetos
Java 00 Poo
Programação Orientada a Objetos - Uso da O.O. em Java
Java - Aula 2 - Orientado a Objetos
Orientação a Objetos - Conceitos
Curso : Introdução Orientação a Objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Programação C - Aula 1
Apresentação programação orientada à objetos
Anúncio

Destaque (9)

PPT
VersióN Definitiva Corregida
PPT
1ºZaragoza 2009
HTM
Los valores Humanos
PPS
SIDERA CIDADE SIMPATIA
PDF
Informe Conjuntural 2º trim 2010
PDF
Antibiotico rpm bueno
PDF
Fpnc edição especial
PPT
1.Antonio Carpallo Experiencias3 Carpallo
PPT
Ejemplo Presentacion
VersióN Definitiva Corregida
1ºZaragoza 2009
Los valores Humanos
SIDERA CIDADE SIMPATIA
Informe Conjuntural 2º trim 2010
Antibiotico rpm bueno
Fpnc edição especial
1.Antonio Carpallo Experiencias3 Carpallo
Ejemplo Presentacion
Anúncio

Semelhante a Aula 1 - Linguagem III (20)

PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
PDF
Programação OO - Java
PDF
Aula orientação a objetos
PPTX
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
PPT
Poo slides01
PDF
ebook-completo c# o melhor para começar no c#
PPT
Apresentação curso de Extensão em Java (UERJ-IME) v1
PDF
Introdução à Orientação a Objetos: Aula09_Conceito_OO.pdf
PDF
Programacao II Aula 7 Heranca-Diagrama Classe [Autosaved].pdf
PPTX
Módulo 9 - Introdução à Programação Orientada a Objectos
PPTX
Aula01-IntroducaoOO.pptx
PDF
Curso de Java (Parte 2)
PPTX
Java - Visão geral e Exercícios
PPTX
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
PPT
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
PPT
01 Orientacao A Objetos Programacao
PDF
Curso de Java 4 - (Orientação a Objetos).pptx
Programação OO - Java
Aula orientação a objetos
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Poo slides01
ebook-completo c# o melhor para começar no c#
Apresentação curso de Extensão em Java (UERJ-IME) v1
Introdução à Orientação a Objetos: Aula09_Conceito_OO.pdf
Programacao II Aula 7 Heranca-Diagrama Classe [Autosaved].pdf
Módulo 9 - Introdução à Programação Orientada a Objectos
Aula01-IntroducaoOO.pptx
Curso de Java (Parte 2)
Java - Visão geral e Exercícios
AULA DIA 22-2024 - PROGRAMACAO ORIENTADA A OBJETOS EM JAVA.pptx
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
01 Orientacao A Objetos Programacao

Último (20)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula sobre banco de dados com firebase db
PDF
Processos na gestão de transportes, TM100 Col18
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Apple Pippin Uma breve introdução. - David Glotz
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula sobre banco de dados com firebase db
Processos na gestão de transportes, TM100 Col18
COBITxITIL-Entenda as diferença em uso governança TI
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Émile Durkheim slide elaborado muito bom
Aula sobre desenvolvimento de aplicativos
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx

Aula 1 - Linguagem III

  • 1. UNIJUÍ – DETEC – Ciência da Computação Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Linguagem de programação III Notas de Aula – Aula 01 1º Semestre - 2010 jgw@unijui.edu.br
  • 2. • Objetivo da aula de hoje • • • Apresentações: • Tópicos que serão abordados na disciplina; • Alunos; • Professor; Sistemática de avaliação; Revisão de conteúdo base para esta disciplina; jgw@unijui.edu.br
  • 3.  Tópicos que serão abordados na disciplina  Persistência de Objetos - Banco de dados e Java  Programação em Rede - Sockets  Programação para Internet  Principal ferramenta NETBEANS IDE Tecnologias Web jgw@unijui.edu.br
  • 4. Sobre vocês ?  Apresentação individual     Semestre letivo individual? Trabalha na área? Experiência com programação? Experiência com Java?
  • 5.  Formação    Sobre o Professor Bacharel em informática UNIJUI – 2001 Mestre em Computação - UFSM - 2009 Histórico Profissional     Unijuí - Programador Sênior; Unicruz - Professor do curso de Ciência da computação; Escola técnicas, Sistemas comercias, sistemas para internet; Desenvolvimento de sistemas complexos;  Análise e desenvolvimento de sistemas;
  • 6. Sistemática de avaliação     Avaliação contínua e individual; Trabalho para a disciplina (será definido em breve); Provas; Trabalhos individuais;
  • 7. Início da revisão - Orientação à objetos Utiliza uma perspectiva mais humana de observação da realidade, incluindo objetos, classificação e compreensão hierárquica
  • 8. Contexto Histórico A    crise do desenvolvimento do software: Demanda muito superior à capacidade de desenvolvimento; Qualidade insuficiente dos produtos; Estimativas de custo e tempo raramente cumpridas nos projetos.  Surge a Engenharia de Software
  • 9. Engenharia de Software Busca organizar esforços no desenvolvimento de ferramentas, metodologias e ambientes de suporte ao desenvolvimento de software
  • 10. Programação Orientada a Objetos  Foco nos dados (objetos) do sistema, não nas funções  Estruturação do programa é baseada nos dados, não nas funções  As funções mudam mais do que os dados
  • 11. Paradigma Orientado a Objetos  Pressupõe que o mundo é composto por objetos  Objeto é uma entidade que combina estrutura de dados e comportamento funcional  Os sistemas são modelados como um número de objetos que se interagem
  • 13. Paradigma Orientado a Objetos A orientação a objetos surgiu nos primórdios da década de 70, com as linguagens ADA, SIMULA e Small Talk.  Ficou bastante difundida nos anos 80, com linguagens como o C++, e teve uma recente explosão em difusão nos anos 90, através da linguagem Java.  Hoje é um padrão de fato!
  • 14. Benefícios da OO  Reutilização  Extensibilidade  Manutenção  Redução na quantidade de erros
  • 15. Encapsulamento     Usado para esconder detalhes de implementação Não é necessário saber como a classe está implementada para chamar o método necessário. Basta saber a interface do método Os atributos de um objeto só devem ser manipulados pelos métodos do próprio objeto (orientação a objeto pura).
  • 16. Variáveis da Instância X da Classe Variáveis da classe    Só existe uma cópia de cada variável Todos as instâncias acessam a mesma cópia das variáveis São criadas apenas uma vez assim que o sistema reconhece a classe Variáveis da Instância    Existe uma cópia para cada instância criada Cada instância acessa a sua cópia São criadas sempre quando uma nova instância é gerada
  • 17. Identificando Objetos  Em uma sala existe um conjunto de objetos físicos que podem ser facilmente identificados, modelados e classificados como objetos OO.  Mas em um problema onde o espaço é uma aplicação de software, os objetos podem não ser facilmente encontrados.
  • 18. Identificando Objetos Os objetos podem ser identificados analisando-se o problema ou fazendo um “parser gramatical” do texto contendo a descrição do problema  Objetos são determinados sublinhando-se cada substantivo;
  • 19. Objetos, classes, métodos e atributos Detalhando...
  • 20. Objetos  Mundo real formado por elementos: Objetos  Objetos podem ser coisas concretas ou abstratas  Ex: Carro, Pessoa, Emissão de Nota, etc
  • 21. Estado do Objeto  Conjunto de suas propriedades associadas a seus valores correntes  Propriedades geralmente referenciadas como Atributos  Ex: Propriedades:  Cor = Vermelha  Ano = 2001  Velocidade = 0 Km/h  Combustível = Gasolina
  • 22. Comportamento do Objeto  Conjunto de serviços ou operações que outros objetos podem requisitar  Operações geralmente referenciadas como Métodos  Representa como o objeto reage às Mensagens a ele enviadas Operações  Ex     Acelerar ( ) Frear ( ) Acender Faróis ( ) Virar a Direita ( )
  • 23. Identidade Única  Objetos têm existência própria  São distintos mesmo se seus estados e comportamento forem iguais  Identificador que permite referência inequívoca  Ex Ferrari do Luciano
  • 24. Classes  No mundo real, diferentes objetos desempenham o mesmo papel Automóveis A estrutura e o comportamento comuns dos objetos podem ser agrupados
  • 25. Classes  Modelo que descreve a estrutura e o comportamento de objetos comuns = Classe  Objetos que se comportam da maneira especificada pela classe são ditos Instâncias dessa classe  Ex Ferrari do Luciano é um Instância da Classe Automóvel
  • 26. Classe abstrata  Pelo menos um de seus métodos está declarado mas não têm implementação associada.  Método abstrato: método sem implementação  Não gera instância  Só pode ser usada como base para outras classes   herança Cada subclasse deverá implementar o método abstrato da superclasse (classe abstrata)
  • 28. Polimorfismo  Polimorfismo é a habilidade de diferentes instâncias, de classes diferentes, responderem a mesma mensagem de diferentes maneiras.   executar métodos com a mesma assinatura mas implementados de maneira diferente Classe polimórfica:  quando instâncias suas ou instâncias de classes derivadas suas possuem mensagens que nem sempre são respondidas da mesma maneira - a resposta irá depender do contexto da execução.
  • 29. Restrição de acesso (métodos e atributos)  Public: sem restrição. Qualquer objeto pode acessar tal método/atributo  Private: apenas o objeto que possui o método/atributo pode acessa-lo  Protect: apenas os objetos das classes do mesmo pacote podem acessar o método/atributo  Default:   atributo -> C++: private / JAVA: private método -> C++: private / JAVA: public
  • 30. OO e JAVA  Como java? implementar o paradigma OO em
  • 31. Definindo Classes em Java public class NomeDaClasse { CorpoDaClasse } O corpo de uma classe pode conter • atributos • métodos • construtores (inicializadores) • outras classes...
  • 32. Exemplo public class LeImprime { /** Lê e imprime um string */ public static void main(String[] args) { String nome; nome = Util.readStr(); System.out.println(nome); } }
  • 33. Definindo Atributos em Java public class Livro { private int anoDePublicacao; private int numeroDePaginas; private String titulo; ... }  cada atributo tem um tipo específico que caracteriza as propriedades dos objetos da classe  int e String denotam os tipos cujos elementos são inteiros e strings
  • 34. Tipos em Java  Primitivos      char int boolean double ...  Referência    classes (String, Object, Livro, Conta, etc.) interfaces arrays Os elementos de um tipo primitivo são valores, enquanto os elementos de um tipo referência são (referências para) objetos!
  • 35. Definindo Atributos em Java public class Pessoa { private int anoDeNascimento; private String nome, sobrenome; private boolean casado = false; ... }  vários atributos de um mesmo tipo podem ser declarados conjuntamente  podemos especificar que um atributo deve ser inicializado com um valor específico
  • 36. Definindo Métodos em Java public class Conta { private String numero; private double saldo; } public void creditar(double valor) { saldo = saldo + valor; } ... Um método é uma operação que realiza ações e modifica os valores dos atributos do objeto responsável pela sua execução
  • 37. Definindo Métodos em Java public class Conta { ... } parâmetros do método public void debitar(double valor) { saldo = saldo - valor; } tipo de retorno corpo do método Por quê o debitar não tem como parâmetro o número da conta?
  • 38. Outro exemplo... public class <nome> { public static void main (<parametros>) { <declarações> <comandos> } } Onde, main: método por onde se inicia a execução public: parâmetro de acesso static: indica que main se aplica à classe void: indica que main não retorna um valor
  • 39. Definindo Métodos em Java O tipo do valor a ser retornado pelo método  Nome do método  Lista, possivelmente vazia, indicando o tipo e o nome dos argumentos a serem recebidos pelo método Usa-se void para indicar que o método não retorna nenhum valor, apenas altera os valores dos atributos de um objeto
  • 40. Definindo Métodos em Java public class Conta { private String numero; private double saldo; } public String getNumero() { return numero; } public double getSaldo() { return saldo; } ... Os métodos que retornam valores como resultado usam o comando return
  • 41. O Corpo do Método  Comandos que determinam as ações do método  Estes comandos podem    realizar simples atualizações dos atributos de um objeto retornar valores executar ações mais complexas como se comunicar com outros objetos
  • 42. Comunicação entre objetos  Os objetos se comunicam para realizar tarefas  A comunicação é feita através da troca de mensagens ou chamada de métodos  Cada mensagem é uma requisição para que um objeto execute uma operação específica conta.creditar(45.30) variável contendo referência para objeto nome do método a ser executado
  • 43. Exercício  Crie  Crie uma classe Pessoa com 2 atributos uma classe Aluno que seja uma classe filha da classe Pessoa