C++
Clases


As clases son a peza fundamental sobre a que se cimenta a programación orientada a obxectos.

As clases definen tipos de datos, compostas por unha serie de estados (variables), así como unha serie de operacións (funcións) para traballar con eses estados.

Herdanza

editar

A herdanza é a relación entre dúas clases na que unha é “un tipo de” outra, como «Tranvía» pode ser un tipo de «Vehículo».

Herdanza pública

editar

A sintaxe da herdanza pública é a seguinte:

class Tranvia : public Vehiculo {
public:
  // [...]
};

Clases base

editar

As clases base son as clases das que as súas clases derivadas son “un tipo de”.

Clases base abstractas

editar

As clases base abstractas empréganse en C++ para separar a interface da aplicación. Consisten en clases que teñen unha ou máis funcións membro puramente virtuais. Por tanto, non se pode crear unha instancia deste tipo de clases.

Punteiros a clases base ou derivadas

editar

As funcións que traballan con punteiros a clases base poden traballar tamén con punteiros ás súas clases derivadas:

void funcion1(Vehiculo* vehiculo);
void funcion2(Tranvia* tranvia) { funcion1(tranvia); } // Este liña de código é completamente segura.

Niveis de acceso

editar
  • Aos membros (datos ou funcións) declarados na sección private dunha clase só poden acceder as funcións membro da clase e amigos.
  • Aos membros (datos ou funcións) declarados na sección protected dunha clase só poden acceder as funcións membro da clase e amigos, así como as funcións membro e amigos das clases derivadas.
  • Aos membros (datos ou funcións) declarados na sección public dunha clase pode acceder calquera.


C++
Clases