Baixe o app para aproveitar ainda mais
Prévia do material em texto
O que é POO? É um paradigma (estilo): visa resolver os problemas de programação utilizando objetos, ficando mais próximo do mundo real. Esses objetos podem ser tanto concretos como abstratos. Por que estudar POO? Orientação a objetos é uma maneira de programar que ajuda na organização; Resolve muitos problemas enfrentados pela programação procedural; Na POO um programa é visto como um conjunto de objetos que se comunicam através de mensagens; Vantagens da POO ? Código organizado e menor; Concentração das “responsabilidades” no ponto certo. Flexibilidade e facilidade de manutenção Desvantagens da POO ? Complexidade no aprendizado em comparação com a programação estrutura; Seus conceitos são de difícil compreensão. Classe ? Uma classe é uma representação abstrata para um conjunto de objetos que possuem estrutura e comportamento semelhantes; Por esse motivo, as classes definem: – Os atributos que irão descrever o objeto; – Os métodos que definem o comportamento dos mesmos. Objetos ? A classe é apenas um modelo; O objeto é uma abstração do mundo real; O objetos é uma instância da classe; É através deles que todo processamento em sistemas orientados a objetos ocorre. Métodos ? Todo sistema deve executa operações para realizar suas tarefas; Na POO essas operações são definidas dentro das classes e são chamadas de métodos; Estrutura class Conta { int numero; double saldo; void depositar(double valor) { this.saldo += valor; } void sacar(double valor) { this.saldo -= valor; } void exibirSaldo() { System.out.println("Saldo: " + this.saldo); } } Modificadores de acesso ? - Determina como será a visibilidade de uma classe, atributo ou método a partir de outras classes ou métodos Encapsulamento ? Deriva da palavra capsula (proteção); Encapsular é definir uma “muralha” para proteger o objeto; Por meio de restrições de acesso os atributos da classe tenham valores que só podem ser acessados dentro da própria classe. Os atributos devem está visíveis somente através de métodos públicos. Métodos Getters e Setters ? Uma convenção em java determina que para cada atributo privado, teremos um par de métodos; Set: seta (define) o valor; Get: acessa (retorna) o valor; public class Funcionario { private String nome; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; // Dentro de um método, para acessar os atributos do objeto devemos utilizar a palavra reservada this. } } Modificador Descrição Simbologia + # ~ - public Classe, método ou atributo tem acesso total em qualquer outra classe do projeto protected A visibilidade do atributo ou método será somente em nível de herança ou no mesmo pacote. default Classe, método ou atributo é acessível apenas no mesmo pacote private O atributo ou o método tem visibilidade restrita somente a mesma classe. Palavra reservada this ? Faz referencia ao objeto corrente, ou seja, ao objeto que chamou o método; Isso resolve a ambiguidade entre um atributo e um parâmetro de um método; Herança ? Ocorre em java quando uma classe herda as características (atributos e métodos) definidas em outra classe. A classe que herda chama-se filha ou subclasse, já que foi herdada pai ou superclasse; Normalmente a classe filha implementa novos atributos e/ou métodos. Herança É um mecanismo orientado a objetos que permite a reutilização da estrutura e do comportamento de uma classe ao se definir novas classes. A classe que herda o comportamento é chamada de subclasse ou classe-filha e a que definiu o comportamento superclasse ou classe-mãe. Não há limites no número de níveis na hierarquia de herança. Objeto ? Especialização e Generalização Através da herança é possível representar a relação de generalização/especialização entre duas classes: A superclasse é uma generalização da(s) subclasse(s) A subclasse é uma especialização da(s) superclasse(s)
Compartilhar