Post on 25-Jun-2015
description
Programação Orientada a Objetos
Este sou eu :)
http://omadson.wordpress.com
@omadsonDesenvolvedor WEB
++ Soluções em Tecnologia
CENTEC
● É fácil?● O que eu preciso saber?
Até vó toinha sabeprogramar orientado a objetos!
● É fácil?● O que eu preciso saber?
O que eu preciso Saber?
● Conceitos gerais de programação● Tipos primitivos, entrada e saída de
dados, operadores● Estruturas condicionais e de repetição
Eu não prestei atençãonas aulas anteriores, e agora?
Simples...
Preparados?
Vamos logo com isso!
O que temos para hoje?
O que temos para hoje?
● Compreender● Benefícios da Programação Orientada a
Objetos● Conceitos básicos e terminologia da
programação Orientada a Objetos– Objeto, Classe, Atributo, Método
Benefícios da tecnologia de Objetos
● Acelerar o tempo de desenvolvimento● Reduzir o tempo de manutenção● Mais fácil de compreender e adaptar● Código de melhor qualidade
Programação Orientada a Objetos
● Foco nos dados (Objetos) do sistema, não nas funções
● Estrutura do programa é baseado nos dados não nas funções
● As funções mudam mais do que os dados● Objetos e atividades do mundo real
O que é um objeto?
● É o agrupamento dos dados e operações que representam um conceito● Conta Bancária
– número e saldo– creditar e debitar
● Produto (de supermercado)– código, descrição, valor...– atualizar estoque, remarcar preço
Objetos
Objetos
● Um carro pode ser considerado um objeto● Identidade ('1')● Estado (sua cor, tipo de pneu, etc...)● Comportamento (respostas ao giro do volante, ao
pisar no pedal do freio)● Muitos textos definem um objeto como tendo
apenas duas características: estado e comportamento:● Nesses cados, a identidade é parte do esdado
Objeto Conta Bancária
Número Saldo
“123-x“ 354,50
Creditar
Debitar
Objeto Conta Bancária
Número Saldo
“123-x“ 354,50
Creditar
Debitar
Número Saldo
“123-x“ 374,50
Creditar
Debitar
creditar(20)
Classe
● Agrupamento de objetos que tem propriedades em comuns e realizam as mesmas operações
● Descreve como os objetos daquela classe são estruturados internamente (propriedades e operações)
● Classe é um conceito, o objeto é uma instância deste conceito
Classe
● Portanto, podemos ter vários objetos pertencentes a mesma classe● Todos os objetos conta de um banco (um para
cada conta)
ClasseClasse é uma é uma formaforma,,objetosobjetos são os são os bolosbolos
Criando uma classe em java
● Clicar com o botão direito no pacote que quer criar a classe > novo > Nova Classe java
Criando uma classe em java
● Cada atributo tem um tipo específico que caracteriza as propriedades dos objetos da classe
● double e String denotam os tipos cujos elementos são reais e textos
Tipos em Java
● Primitivos● char● int● boolean● double● ...
● Referência● classes (String,
Object, Livro, Conta, etc.)
● arrays
Os elementos de um tipo primitivo são valoresOs elementos de um tipo primitivo são valoresOs elementos de uma classe são objetosOs elementos de uma classe são objetos
Strings (String)
● Não é um tipo primitivo e sim uma classe● Literais: “ “, “a“, “DPI\nCapelão Frei
Orlando“● Operadores: + (Concatenação)
– „“Outubro “ + “de “ + 99 = “Outubro de 99“
● Note a concatenação de inteiro para String
● Há uma conversão implicita de todos os tipos primitivos para String.
Mais operadores sobre Strings
● Comparação (igualdade) de dois Strings
● Tamanho de uma String a
String a …String b …if (a.equals(b))
String a …int i = a.length(a)
Usando String
Mais operadores sobre Strings
● Extrair um substring de uma String maior
String a = “Bem Vindo!“;String s = a.substring(0,3);// a = “Bem“// caracteres das posições 0, 1 e 2
A classe String tem mais de 50 métodos:A classe String tem mais de 50 métodos:http://goo.gl/EiqH4http://goo.gl/EiqH4
Information Hiding
● A palavra reservada private indica que os atributos só podem ser acessados pelas operações realizadas dentro da classe que foram definidos.
Information Hiding em Java
● Java não obriga o uso de private, mas vários autores consideram que isto é uma pré-condição para programação orientada a objetos.
● O bug do ano 2000 e private...● Grande impacto em extensibilidade● Usem private!
Estou cansado...
Vamos deixar pra terminar no próximo capítulo...
Que a força esteja com vocês!