Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Orientação a objetos

From 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 04:52.
188 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.

×