×
Namespaces

Variants
Actions

Orientação a objetos

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Artigo
Criado por cabezonxdg em Cabezonxdg
Última alteração feita por hamishwillee em 09 Dec 2011

Contents

Características

Symbian OS permite a sua programação utilizando C++, JavaME, Python entre outras. Essas linguagens utilizam os conceitos de Orientação a objetos.

Encapsulamento

  • Seria o agrupamento de dados e procedimentos correlacionados em uma mesma entidade.
  • Uma das principais vantagens sobre Programação Estruturada

Utiliza os princípios do que deveria ser acessível ao usuário e o que não deveria. Através de definições como public, private e protected, é uma forma de controlar o acesso aos membros (atributos ou métodos) da classe (encapsulamento).

Public: Podem ser acessados em qualquer instância da classe. São a interface entre o programador e a classe. Private: Só podem ser acessados por funções membros da classe, classes derivadas não tem acesso a esses elementos.
Protected: Só podem ser acessados por funções membro da mesma classe e/ou classes derivadas

Herança

  • Mecanismo de hierarquia entre classes.
  • Uma das principais diferenças entre Orientação a Objetos e Linguagens Estruturadas.
  • Conceito de Classe-base e Classes Derivadas (Pai e filhos).
  • A classe derivada herda todas as características da Classe-Base (atributos e procedimentos), e contêm informações exclusivas.
  • Agrupa-se atributos em comum na classe-base.
  • Duas formas possíveis de herança.
    • Generalização.
    • Especialização.

Espgen.JPG

  • Atributos com tipo de acesso Private, não podem ser acessados por classes derivadas.
  • Modo de acesso Protected, permite que o atributo fique protegido, mas que possa ser acessado por classes derivadas.

Exemplo:

	class CPrjGrafico2AppView : public CCoeControl

Herança Multipla: Uma classe pode herdar características de várias classes-base.
Em Symbian C++ a única possibilidade de herança múltipla é utilizando classes 'M' (Mixins).

Exemplo:

	class CCoeControl : public CBase, public MObjectProvider

Polimorfismo

  • Significa "possuir várias formas".
  • Utilizar o mesmo nome para métodos diferentes.
  • Facilita a manutenção dos programas.

Idéia:

  • A idéia principal do Polimorfismo é que o compilador não sabe qual função chamar na hora da compilação; a função correta apenas poderá ser escolhida em tempo de execução, utilizando funções virtuais

Funções Virtuais Puras:

  • São funções declaradas na classe base e que não possuem bloco de código (estão presentes apenas para serem redefinidas pelas classes derivadas).

Estratégia:

  • Criar funções na parte mais alta da hierarquia para realizar variações a medida em que se desce na árvore hierárquica.

Construtores e Destrutores

Construtores:

  • Usado para inicialização de valores aos membros de dados na criação de um objeto.
  • Não retornam nada.
  • Sua declaração se da com o mesmo nome da classe.
  • É possível sobrecarregar.
  • Podem chamar métodos.

Destrutores:

  • Estão associados à liberação de memória alocada dinamicamente.
  • É chamado automaticamente quando a função é finalizada.
  • Não possuem argumentos, retorno e nem podem ser sobrecarregados.

O Symbian C++ utiliza o conceito de Construção em duas fases:

Construtor em 2 fases

Objetivo: Evitar que uma exceção se transforme num erro durante a criação de um Objeto.

This page was last modified on 9 December 2011, at 07:52.
58 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×