Saltar al contenido

¿Qué es una clase en programación orientada a objetos?

que es una clase en programacion orientada a objetos

Siempre que hablamos de clases, nos referimos a la programación orientada a objetos.

Si lo queremos definir en una sola frase, una clase es un diseño que se puede utilizar para crear varios objetos individuales.

Una clase define un grupo o conjunto de datos, en objetos se llaman atributos, que definen los objetos, así como un conjunto de comportamientos, las funciones o métodos del objeto, que lo manipulan y relacionan los objetos unos de otros.

Los atributos y métodos son los miembros de la clase.

Recordemos que para la gestión de clases debemos entender tres funciones claves para la programación orientada a objetos, la abstracción, la herencia y el polimorfismo.

Como se estructura una clase

Vamos a ver un ejemplo de como se estructura una clase en Java. Sería el código siguiente:

<modificadores> clase <nombre> {
<atributos>
<constructor>
<métodos>
}

El <nombre> puede ser cualquiera, siempre que sea válido (no tener espacios, no empezar con un número, no ser una palabra reservada, etc.).

Para los <modificadores> pueden ser varias opciones, pero lo habitual es usar public, que indica que es accesible desde cualquier parte de nuestro código fuente.

Dentro de la clase, que lo sabemos porque este entre llaves {}, es dónde están el conjunto de atributos, constructores y métodos asociados a la clase.

Qué son los atributos y como se declaran

Sigamos con el mismo ejemplo. La declaración de un atributo suele tener la siguiente sintaxis:

<modificador> <tipo> <nombre> [ = <valor_inicial>];

Un ejemplo en Java:

public class Vehiculo {
private String nombre = "Coche";
private int numRuedas;
}

El <nombre> le pasa igual que con la clase, puede ser cualquiera que acepte el lenguaje de programación.

Para el <modificador>, existen varias posibilidades, como public, private, y protected.

La palabra clave private indica que nadie podrá ver ese atributo, excepto los métodosdentro de la clase.

El <tipo> del atributo puede ser cualquier tipo de datos primitivo (int, float, char )  o el nombre de una clase.

Es posible asignar un <valor_inicial> a un atributo, aunque lo habitual es hacerlo en el Constructor.

Como crear métodos Java

Seguimos viendo las partes que tiene una clase, con el ejemplo de Java.

Para definir los métodos, el lenguaje de programación Java se parece al de otros lenguajes como C++.

<modificador> <tipo_retorno> <nombre> ( <argumentos> ) {
<instrucciones>
}

El <nombre> como siempre, que sea un nombre válido.

El <modificador> es opcional, y puede tener varios de ellos, como public, private , y protected, aunque pueden ser más. Si es public, significa que podemos usarlo fuera de la clase. Si es private, sólo podemos usarlo dentro de la clase.

El <tipo_retorno> indica el tipo de valor devuelto por la función o método. Si el método no devuelve ningún valor, el tipo de retorno debe ser de tipo void.

Si por ejemplo fuera un número, como puede ser un float, el método debe devolver siempre un float en todos los retornos que escribimos en la función. Además, la función sólo puede ser usada dónde se espera devolver este tipo de valor.

Para devolver este tipo de datos se utiliza return.

La lista de <argumentos> permite que los valores de estos parámetros sean pasados al método, para poder usarlo. Los elementos de esta lista están separados por comas, y cada uno de estos elementos consiste en un tipo de dato y un identificador.

Volviendo al ejemplo del Vehiculo, si ahora añadimos sus métodos, quedaría así:

public class Vehiculo {
private String nombre = "coche";
private int numRuedas;

public int getRuedas() {
return numRuedas;
}
}