O documento discute os principais conceitos de programação orientada a objetos em Java, incluindo classes, objetos, atributos, métodos, mensagens, abstração, encapsulamento, herança e polimorfismo.
3. Java - OO - Beneficios
O modelo representa o mundo de real de
maneira mais próxima.
4. Java - OO - Beneficios
Mais fácil de entender, manter e evoluir.
5. Java - OO - Beneficios
Possibilita a reutilização do código.
6. Java - OO - Beneficios
Redução de código escrito.
7. Java - OO - Beneficios
Auxilia e propicia a separação de
responsabilidade no código.
8. Java - OO - Beneficios
Ajuda na componetização e modularização da
solução.
9. Java - OO - Conceitos
Classes
● Define caracteristicas abstratas do objeto.
● Define os atributos e métodos dos objetos.
● É o modelo que define o objeto.
10. Java - OO - Conceitos
Objeto
● Um objeto possui um estado, exibe um comportamento
bem-definido e possui uma indentidade única.
11. Java - OO - Conceitos
Atributo
● São as caracteristicas de um objeto, basicamente a
estrutura que vai representar a classe.
12. Java - OO - Conceitos
Métodos(operações/comportamento)
● Define os comportamentos da classe.
● Por exemplo, Fusca é um objeto da classe Carro e portanto tem a
habilidade de buzinar, com o método buzinar().
● Esse comportamento só acontece quando fazemos a chamada
Fusca.buzinar();
● Programaticamente falando, um método altera o comportamento
de um objeto.
13. Java - OO - Conceitos
Mensagens
● É a chamada de um método de um objeto com o objetivo de ativar
um determindado comportamento descrito pela classe desse
objeto.
● Uma mensagem pode ser enviada para um método de um objeto
ou de uma classe, neste último caso ele é chamado de método
estático.
14. Java - OO - Conceitos
Abstração
● É operação pela qual o espírito considera separadamente coisas
inseparáveis na natureza e resulta no processo mental em que as
idéias estão distanciadas dos objetos por meio de uma operação
intelectual que isola os generalismos teóricos dos problemas
concretos, para que estes sejam resolvidos
● Em OO, uma classe é uma abstração de entidades existentes no
domínio em um sistema de software.
15. Java - OO - Características
Encapsulamento
● Consiste na separação de aspectos internos e externos de um
objeto.
● É um mecanismo amplamente utilizado para impedir o acesso
direto ao estado de um objeto (seus atributos), disponibilizando
externamente apenas os métodos que alteram estes estados.
● Por exemplo: você não precisa conhecer os detalhes dos circuitos
de um telefone para utilizá-lo, pois a carcaça do telefone encapsula
esses detalhes, provendo a você uma interface mais amigável (os
botões, o monofone e os sinais de tom).
16. Java - OO - Características
Herança
● Herança é um mecanismo da OO que permite criar novas classes
a partir de classes já existentes, aproveitando-se das
características existentes na classe a ser extendida.
● Este mecanismo promove reuso e reaproveitamento de código
além de possibilitar a criação de classes derivadas (subclasses) a
partir de classes bases (superclasses).
● As subclasses são mais especializadas do que as suas
superclasses, mais genéricas, e todas herdam todas as
características de suas superclasses, como seus atributos e
métodos.
17. Java - OO - Características
Polimorfismo
● É a capacidade de um objeto ser referenciado de várias formas o que quer
dizer que a referência ao objeto se transforma, ou fica se transformando
ao longo do tempo.
● Vale ressaltar que um objeto nasce e morre sendo de um mesmo tipo e o
que muda ou transforma-se é a maneira de como nos referenciamos a ele.
Por exemplo: um gerente financeiro pode ser tratado (referenciado) como
gerente financeiro, gerente ou funcionário quando estamos em um
contexto de uma empresa. Se ampliarmos este contexto também
podemos dizer que um gerente financeiro pode ser tratado (referenciado)
como pessoa física, por exemplo.