quarta-feira, 5 de outubro de 2011

04 de Outubro de 2011, Fabrício, Algoritmos.

- Construtores

- Destruidores

- Polimorfismo

- Classes Abstratas


Construtores

*Regra: Todo objeto instanciado deve ser inicializado antes de ser executado
*Construtor: É o método da classe que é chamado automaticamente no momento da instanciação do objeto.
*Serve para inicializar os atributos do objeto para evitar inconsistência nos dados.


Destrutores:


* Assim como é necessário inicializar os atributos de um objeto, pode ser necessário destruí-los.
* Um Destrutor é indicado automaticamente sempre que um objeto é liberado da memória.

* Usado para desalocar recursos atualizados pelo objeto


( Create vai no inicio, após Begin, e quando definido destructor, irá no final antes do END )


Polimorfismo

*Capacidade de assumir várias formas diferentes.
*Em orientação a objetos significa que uma mesma operação pode ser definida por diversas classes, cada um implementando a operação de uma maneira própria.

*Polimorfismo permite que o programador acesse um método de um objeto sem saber exatamente de qual classe específica o método esta sendo acessado.


TFIGURA = CLASS

BEGIN

PROCEDURE DESENHAR;

END;

TCIRCULO=CLASS(TFIGURA)

PUBLIC

PROCEDURE=DESENHAR;

TTRIANGULO=CLASS(TRIANGULO)

PUBLIC

PROCEDURE DESENHAR;

END;


VAR

FIGURA:TFIGURA;

BEGIN

FIGURA:=TCIRCULO.CREATE;

FIGURA.DESENHAR;

FIGURA.FREE;

END.


Sobreposição ( Override ).

Métodos com a mesma declaração que são, sobrescritos ( substituídos ) em uma herança por exemplo, um método declarado na superclasses, se referindo na subclasse, é substituído por fase em tempo de execução.


- Sobrecarga ( Overload )

Métodos com mesmo nome em uma classe podem executar operações de maneiras destintas, isto é, permitido pela diferenciação na passagem de parâmetros.


Public

Procedure desenhar (raio.integer); overload;

Procedure desenhar(largura,altura:integer); overload;

Procedure desenhar(raio:integer); overload; x //não pode ser igual ao primeiro|

Procedure desenhar(raio: real); overload;


Nenhum comentário:

Postar um comentário