jueves, 4 de junio de 2009

Parte protegida

Parte protegida

Protegiendo la herencia, los miembros públicos y protegidos de la clase base se convierten en miembros protegidos de la clase derivada y los miembros privados de la clase base se vuelven inaccesibles. La herencia protegida es apropiada cuando las facilidades o aptitudes de la clase base son útiles en la implementaron de la clase derivada, pero no con parte de la interfaz que el usuario de la clase ve. La herencia protegida es todavía menos frecuente que la herencia privada.

Tipos de herencia y accesos que permiten.

Tipo de Herencia

Acceso a miembro clase base

Acceso a miembro a clase derivada

public

public protect private

public protect inaccesible

protected

public protect private

protect protect inaccesible

private

public protect private

public public inaccesible

La tabla anterior resume los efectos de los tres tipos de herencia en la clase accesibilidad de los miembros de la clase derivada. La entrada inaccesible indica que la clase derivada no tiene acceso al miembro de la clase base.

Ejemplo:

Declarar una clase base (Base) y tres clases derivadas de ella, D1, D2, D3.

class Base {

public:

    int i1;

protected

    int i2;

private:

    int i3;

};

class D1: private Base [

    void f( );

};

class D2 : protected Base {

    void g ( );

};

class D3 : public Base {

    void h ( );

};

No hay comentarios:

Publicar un comentario