Conceitos Básicos de OO (cap. 1)

  • Classes consistem na descrição de atributos e métodos para um conjunto de objetos. Possuem uma visão interna e externa (funções publicas).
  • Interface pública são os serviços da classe que poderão ser utilizados por outras partes do programa, ocultando como os serviços são implementados. Essa ocultação é chamada encapsulamento.
  • Objetos são entidades unicamente identificados. Eles são uma instancia concreta e dinâmica de uma classe. Possuem dados, comportamento e identidade da classe. Pode-se dizer que um objeto é “uma variável do tipo de dados definido pela classe”.
  • Os métodos de uma classe podem ser chamados de funções membros ou serviços.
  • O estado de um objeto é determinado pelo valor de seus atributos
  • Modificadores de acesso

  • Público - visíveis em toda aplicação

  • Privado - visíveis apenas internamente a classe que foram programados
  • Protegido - visibilidade intermediária, visíveis apenas em uma hierarquia de classes (subclasses)

  • Herança

  • Criar classe mãe e classes filhas que especializam um determinado comportamento

  • Herança múltipla: duas ou mais classes que possuem subclasses (java e c# não implementa esse conceito)

Linguagem Java - (cap. 3)

  • Em java, um objeto é interpretado como uma referência e não o objeto propriamente dito.
  • NomeClasse nomeObjeto -> cria-se referência mas não objeto; uma vez criado objeto com “new” a referência não pode ser manipulada numericamente.
  • Construtor: iniciam o objeto
  • Modificador “friendly” - visíveis apenas no mesmo pacote
  • Membros estáticos: os atributos declarados como estáticos, possuem o mesmo valor durante a execução.
  • Destrutores: são utilizados para finalizar um objeto.

Herança de Classe (cap. 4)

  • Extends
  • Atributos protegidos podem ser explicados depois que o conceito de herança de classe foi introduzido

  • Membros protegidos podem ser acessados por classes do mesmo pacote mesmo que não sejam da mesma hierarquia de classes

  • Podem ser acessados por classes que estendem dessa classe, mesmo que esta subclasse seja de outro pacote
  • Membros protegidos se limitam a uma hierarquia de classes, uma vez que java não permite herança múltipla de classes
  • Membros protegidos e estáticos podem ser acessados em qualquer classe estendida

  • Construtores em classes estendidas

  • Quando uma subclasse é construída, uma superclasse também é.

  • A nova classe (derivada) deverá escolher qual construtor da superclasse deseja chamar
  • Subclasse chama o construtor da superclasse através do super() com a mesma assinatura da superclasse

Polimorfismo (cap 5)

  • Reescrever métodos com mesmo nome, parâmetros diferentes, etc.
  • Palavra chave super, pode-se usar super.metodo()
  • Palavra chave final, serve para definir atributos ou métodos que não podem ser modificados após sua primeira inicialização.