26
Conceitos básicos de Orientação a Objetos e Java Programação I Curso de Sistemas para Internet Charles Tiago Jungbeck [email protected]

Conceitos Básicos de OO e Java

Embed Size (px)

Citation preview

Page 1: Conceitos Básicos de OO e Java

Conceitos básicos de Orientação a Objetos e Java

Programação ICurso de Sistemas para Internet

Charles Tiago [email protected]

Page 2: Conceitos Básicos de OO e Java

Programação I

Roteiro

Algo que você precisa saber

O que é Java

Diferenças entre Java e Pascal

O que é a orientação a objetos (OO)

Exemplos práticos de OO no Java

Pilares da OO

Page 3: Conceitos Básicos de OO e Java

Programação I

Algo que você precisa saber!

Page 4: Conceitos Básicos de OO e Java

Programação I

O que é JAVA?

Java é uma linguagem de programação e plataforma computacional – lançada pela primeira vez pela Sun Microsystems em 1995.

Java em todos os lugares! (JAVA, 2014)

89% dos computadores do EUA executam Java 9 milhões de desenvolvedores no mundo 3 bilhões de celeluras executam Java 100% dos Blu-ray Players vêm com Java 125 milhões de TVs executam o Java

Page 5: Conceitos Básicos de OO e Java

Programação I

Objetivos do Java

Sistemas de médio e grande porte, onde o time de desenvolvedores tem várias pessoas.

Criar aplicações sofisticadas usando diversas bibliotecas (XML, código de barras, vídeo).

Permitir o desenvolvimento de aplicações portáteis de alto desempenho para a mais ampla variedade de plataformas (JAVA, 2014).

Page 6: Conceitos Básicos de OO e Java

Programação I

Como funciona o Pascal?

Em uma linguagem de programação como C e Pascal, temos o seguinte:

Program area;Var l, c, a: real;Begin ...

Windows

Código fonte em Pascal

Código binário paradeterminado SO

compila

Assim, é necessário compilar uma vez para Windows, outra para Linux. Esse é o caso de muitos aplicativos, como Firefox e OpenOffice.

Page 7: Conceitos Básicos de OO e Java

Programação I

Como funciona o Java?

Máquina virtual Java (JVM) – camada.

Class Carro { …}

Carro(); Code: 0: aload_0 1: invokespecial 4: return

compila

JVM Windows

JVM LinuxCódigo fonte

em java ByteCode java

Indepedência: tendo a JVM, vários dispositivos com diferentes SO podem rodar a aplicação (SIERRA e BATES, 2005, p. 6).

Page 8: Conceitos Básicos de OO e Java

Programação I

Java e OO

O Java possui a seguinte estrutura de código:

Arquivo de código fonte

Classe

Método1instruções

Método2instruções

O arquivo de código fonte (.java) contém uma definição de classe.

A classe é uma parte de um programa.

Uma classe tem um ou mais métodos.

Aqui aparecem conceitos de Orientação a Objetos. O que é isso?

Page 9: Conceitos Básicos de OO e Java

Programação I

Programação Orientada a Objetos

A POO é um paradigma de programação que usa os conceitos de Classes e Objetos.

É uma maneira de programar.

Os conceitos de POO surgiram em meados de 1960 com a linguagem Simula-68.

Alan Kay da Xerox, aprimorou esses conceitos em 1970 com a linguagem SmallTalk.

Principal vantagem: Reutilização de código

Page 10: Conceitos Básicos de OO e Java

Programação I

Só Java é OO?

Resposta:Não.

Diversas linguagens de programação suportam a orientação a objetos.

Page 11: Conceitos Básicos de OO e Java

Programação I

Como funciona a POO?

Um programa é visto como um conjunto de objetos que se comunicam.

A colaboração entre os objetos é feita através do envio de mensagens.

Objeto1

Objeto3

Objeto2

Objeto5

Objeto4

Page 12: Conceitos Básicos de OO e Java

Programação I

Objetos

Um objeto é uma construção de software que encapsula características e comportamentos. É uma instância de uma classe (SINTES, 2002, p. 7).

Usados para representar entidades do mundo real (carro, pessoa) ou computacional / abstrato (uma reserva de passagem, um pagamento).

Page 13: Conceitos Básicos de OO e Java

Programação I

Objetos

Possuem 3 aspectos principais:

Características (atributos ou dados) Objeto Pessoa: Nome, RG, peso, altura

Comportamentos (métodos ou operações) Objeto Pessoa: andar, correr, dirigirCarro

Identidade (cada objeto é único)

Page 14: Conceitos Básicos de OO e Java

Programação I

Classes

Uma classe descreve um conjunto de objetos que possuem características (atributos) e comportamentos (métodos) comuns.

Cada classe funciona como um molde para a criação de um objeto.

Os objetos são vistos como representações concretas (instâncias) das classes.

Page 15: Conceitos Básicos de OO e Java

Programação I

Criando uma classe no Java

class Carro { String modelo; String cor; int ano;

void setCor(String cor){ this.cor = cor; }

String getCor(){ return this.cor; }}

Nome da classeescolhido pelo programador. Por padrão, utiliza-sea primeira letraem maiúscula

Conjunto de características dos objetos da classe Carro.Tipo Nome

Métodos ou operações da classe. void setCor(String cor){

this.cor = cor;}

Tipo de retornoou void quandonão há retorno

Nome dométodo

Parâmetros

Arquivo Carro.java

Page 16: Conceitos Básicos de OO e Java

Programação I

Método main no Java

Para que um programa Java execute, é necessário ter um método chamado main.

O método main é onde o programa começa a ser executado (SIERRA e BATES, 2005, p. 6).

Exemplo:public class Main { public static void main(String[] args){ System.out.println("Isso vai aparecer na tela"); }}

Arquivo Main.java

Page 17: Conceitos Básicos de OO e Java

Programação I

Criando um objeto no Java

Instância = objeto.

Um objeto ou instância é criado através do operador new.

public class Main { public static void main(String[] args){ Carro meuCarro = new Carro(); meuCarro.setCor("Vermelho"); System.out.println("Cor do carro: "+meuCarro.getCor()); }}

Arquivo Main.java

Page 18: Conceitos Básicos de OO e Java

Programação I

Pilares da OO

A Orientação a Objetos baseia-se sobre os seguintes pilares (SINTES, 2002, p. 22):

Orientação a Objetos

Enc

apsu

lam

ento

Her

ança

Pol

imor

fism

o

Page 19: Conceitos Básicos de OO e Java

Programação I

Pilares da OO

Encapsulamento Os objetos encapsulados funcionam como uma

caixa preta, sabe-se da sua interface externa, mas não precisa se preocupar com o que acontece dentro dela (SINTES, 2002, p. 23).

Níveis de acesso: Público (garante o acesso a todos os objetos) Protegido (garante o acesso para aquele objeto e

todas as subclasses) Privado (garante o acesso somente para aquele

objeto)

Page 20: Conceitos Básicos de OO e Java

Programação I

Pilares da OO

Herança É um mecanismo que permite a você basear uma

nova classe na definição de uma classe previamente existente. Usando herança, sua nova classe herda todos os atributos e comportamentos presentes na classe previamente existente (SINTES, 2002, p. 73).

Exemplo:

PessoaFuncionário

Professor

Page 21: Conceitos Básicos de OO e Java

Programação I

Pilares da OO

Polimorfismo Ter muitas formas. Em termos de programação,

muitas formas significa que um único nome pode representar um código diferente, selecionado por algum mecanismo automático. Assim, o polimorfismo permite que um único nome expresse muitos comportamentos diferentes (SINTES, 2002, p. 122).

Exemplo: método calcularSalario para um professor ou funcionário

Page 22: Conceitos Básicos de OO e Java

Programação I

Resumo

Para programar em Java você precisa saber construir algoritmos.

Java: linguagem de programação orientada a objetos muito usada em todo o mundo.

Usada para sistemas portáteis de médio e grande porte.

Aplicações em Java não dependem da plataforma utilizada pelo usuário, basta ele ter a Máquina Virtual Java.

Page 23: Conceitos Básicos de OO e Java

Programação I

Resumo

Java é uma das principais linguagens de programação que utiliza o paradigma de OO.

Paradigma = maneira de programar.

Objetos que se comunicam através de mensagens.

Objeto: real ou abstrato que possui atributos e operações.

Classe = molde para a criação do objeto.

Page 24: Conceitos Básicos de OO e Java

Programação I

Resumo

OO baseia-se sobre 3 pilares: Encapsulamento, Herança e Polimorfismo.

Page 25: Conceitos Básicos de OO e Java

Programação I

Atividade

1. Identifique alguns atributos para as classes: Livro, Funcionário, Aluno e Celular.

2. Qual a diferença entre Atributos e Métodos?

3. De acordo com o exemplo visto (Carro.java), crie no Bloco de Notas uma classe chamada Livro e especifique seus atributos e métodos.

Page 26: Conceitos Básicos de OO e Java

Programação I

Referencias

BARNES, D. J.; KÖLLING M. Programação orientada a objetos com Java. 4ª ed. São Paulo: Grupo Pearson, 2009.

CAELUM. Java e Orientação a Objetos. Disponível em: <http://www.caelum.com.br/apostila-java-orientacao-objetos/>. Acesso em: 20 maio 2014.

DEITEL, H. M.; DEITEL, P. J. Java – Como programar. 4ª ed. Porto Alegre: Bookman, 2003.

JAVA. Obtenha informações sobre a tecnologia Java. Disponível em: <www.java.com/pt_BR/about>. Acesso em: 20 maio 2014.

SIERRA, K.; BATES, B. Use a Cabeça! Java. 2ª ed. Rio de Janeiro: Alta Books, 2005.

SINTES, A. Aprenda programação orientada a objetos em 21 dias. 1ª ed. São Paulo: Makron Books, 2002.