Orientação a Objeto Básica
Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural.
CRIANDO UM TIPO
Considere um programa para um banco, é bem fácil perceber que uma entidade extremamente importante para o nosso sistema é a conta.
Nossa idéia aqui é generalizarmos alguma informação, juntamente com funcionalidades que toda conta deve ter.
O que toda conta tem e é importante para nós?
–
–
–
–
número da conta nome do dono da conta saldo limite
O que toda conta faz e é importante para nós? Isto é, o que gostaríamos de “pedir à conta"? – saca uma quantidade x
– deposita uma quantidade x
– imprime o nome do dono da conta
– devolve o saldo atual
– transfere uma quantidade x para uma outra conta y
– devolve o tipo de conta
CRIANDO UM TIPO
• Com isso, temos o projeto de uma conta bancária.
Podemos pegar esse projeto e acessar seu saldo?
– Não.
• O que temos ainda é o projeto. Antes, precisamos construir uma conta, para poder acessar o que ela tem, e pedir a ela que faça alguma coisa.
CRIANDO UM TIPO
Observe a figura anterior: apesar do papel do lado esquerdo especificar uma Conta, essa especificação é uma Conta? Nós depositamos e sacamos dinheiro desse papel?
Não. Utilizamos a especificação da Conta para poder criar instâncias que realmente são contas, onde podemos realizar as operações que criamos.
Apesar de declararmos que toda conta tem um saldo, um número e uma agência no pedaço de papel (como à esquerda na figura), são nas instâncias desse projeto que realmente há espaço para armazenar esses valores.
Ao projeto da conta, isto é, a definição da conta, damos o nome de classe. Ao que podemos construir a partir desse projeto, as contas de verdade, damos o nome de objetos. Um outro exemplo: uma receita de bolo. A pergunta é certeira: você come uma receita de bolo? Não.
Precisamos instaciá-la, criar um objeto bolo a partir dessa