4.1. Clases y Objetos. Atributos y métodos

Clase Coche con sus atributos y métodos
Imagen en Wikimedia Commons de Pluke bajo esta licencia

Dos de los conceptos más usados en Programación Orientada a Objetos son sin lugar a dudas los de Clase y Objeto. Para que sea más fácil la asimilación de estos conceptos haremos una similitud con lo que ya conoces: Una Clase es algo parecido a un tipo de dato, y un objeto es algo parecido a una variable. Al igual que las variables son de un tipo de dato concreto, los objetos también son de una Clase concreta.

Ahora bien, una Clase engloba dos componentes distintos:

  • Los atributos: Son las propiedades que poseen los objetos de esa clase.
  • Los Métodos: Son las acciones que los objetos de la clase pueden realizar.

Sigamos ahora el ejemplo del modelado de un coche, podemos decir que tendremos una clase llamada "Coche", que contiene en su interior varios atributos (el color, las dimensiones, el número de plazas, etc) y varios métodos que puedan ejecutar acciones (arrancar, acelerar, frenar,...).

Cuando programes, verás que los atributos se implementan usando variables y los métodos se implementan utilizando funciones y procedimientos. De esta forma, todo lo que has estudiado anteriormente lo volverás a aplicar en orientación a objetos.

Podemos decir por tanto que una Clase es un conjunto de elementos que tienen unas características comunes, es decir, que son del mismo tipo. El concepto de clase es un concepto abstracto.

Un Objeto en cambio será la concreción de uno de los elementos de una Clase, que permitirá almacenar tanto los atributos como las posibles acciones que realizará.


Importante

Un objeto es una estructura de datos que tiene asignadas propiedades y que puede generar eventos y métodos. Un objeto es una instancia de una clase, es decir, un caso concreto de una clase.

  • Una clase describe el comportamiento de un objeto mediante las propiedades y los métodos.
  • Un evento es una acción desencadenada por un objeto.
  • Los métodos: Son las acciones que los objetos de la clase pueden realizar.
Una propiedad es un atributo o una característica de un objeto. Almacenan información sobre el estado del objeto. El conjunto de valores de cada una de las propiedades de un objeto definen el estado de dicho objeto. 
Estos conceptos son complejos, explicarlos es una tarea ardua que supera los objetivos del tema. No obstante, es necesario hacer una serie de aclaraciones:

Cuando el programador inicia su programa deberá crear en su programa un objeto de la clase Coche (algo semejante a declarar variables de tipos de datos concretos). En estos momentos se habrá creado en memoria un objeto que es de la clase Coche.

La acción de crear un objeto se denomina construir un objeto o instanciar un objeto y conlleva una llamada a una función o procedimiento especial llamado "Constructor". El constructor es un trozo de código que lleva por misión la de reservar memoria para el almacenamiento de los elementos de un objeto, tanto sus atributos como sus métodos.

Cuando ya no necesitamos el objeto creado podemos destruirlo para que no ocupe espacio en memoria. Existe otra función especial denominada "Destructor" que realiza esta operación con los objetos.

    Comprueba lo aprendido

    Resuelve el siguiente crucigrama:

    1. Instancia de una clase.
    2. Describe el comportamiento de un objeto.
    3. Son los atributos de un objeto.
          1.     2.      
         
               
                   
                   
                   
                   
    3.

    Habilitar JavaScript

    Para saber más

    El concepto de programación orientada a objetos y, especialmente, el concepto de objeto es difícil de definir. Por eso, es mejor ilustrar la definición con los ejemplos que encontrarás en esta web: ejemplos_objetos.
    La sintaxis de un objeto y su propiedad es: NombreDelObjeto.Propiedad