Conceitos Fundamentais da Programação Orientada a Objetos
Classificado em Computação
Escrito em em
português com um tamanho de 2,91 KB
Conceitos Fundamentais da Programação Orientada a Objetos
Static
Quando for necessário que todos os objetos de uma mesma classe compartilhem uma única variável, podemos definir uma variável membro com o atributo static, que fará com que todos os objetos compartilhem uma única cópia da variável.
Classe
Uma classe é um tipo definido pelo usuário, semelhante a uma estrutura, com o adicional de que funções também podem ser inseridas. Estas funções (métodos) agem sobre os dados (atributos) da classe.
Encapsulamento
É a proteção dos dados contra alterações indevidas. O encapsulamento mantém escondidos dados e métodos do objeto. Pode-se declarar explicitamente o grau de visibilidade de atributos e métodos:
- public: métodos e atributos podem ser acessados de qualquer parte do programa;
- private: (valor default) apenas métodos da própria classe podem acessar. Tentativas de acesso externo resultam em erro de compilação;
- protected: apenas métodos da classe e derivados (herdados) têm acesso.
Objeto
Um objeto é uma instância da classe. Por meio dele, os métodos e variáveis da classe (ou superclasses) podem ser acessados. Os objetos podem ser alocados de forma estática ou dinâmica.
Métodos
São funções associadas a uma classe, chamadas pelos objetos pertencentes à classe ou por outros métodos da mesma. Em C++, o objeto chama seu método próprio, que realiza a inicialização dos dados internos.
Herança
É o mecanismo que permite uma classe herdar todo o comportamento e atributos de outra classe. A classe que
herda é chamada de subclasse e a que fornece é chamada de superclasse. No construtor da subclasse pode-se
não é permitido.
Templates A sobrecarga de funções permite a declaração de métodos com mesmo nome e diferentes tipos de parâmetros.
Porém, para cada tipo de parâmetro, um novo método deve ser definido. Uma solução para este problema é o uso
de Templates, que permitem criar funções genéricas que admitem qualquer tipo de parâmetro para argumentos e
retorno.
COPIA CLonagem Superficial: o metodo clone sempre realiza clonagem do tipo superficial, somente os conteudos dos atributos e não os objetos referenciados por estes atributos é que são clonado. é o processo de fazer duplicatas exatas de uma entidade. retorna uma referência para um objeto do tipo object, é um metodo protegido.
profunda: envolve,primeiramente a realização da clonagem superficial. Após os atributos devem ser atribuidos para referencias de novos objetos. finalmente, estes objetos devem ser preenchidos com informações duplicadas.
cofre &operador=(Const cofre&c){ free(nome); saldo=c.saldo; nome=srdup(c.nome);}