En informática, una clase es una plantilla para la
creación de objetos de datos según un modelo predefinido. Las clases se
utilizan para representar entidades o conceptos, como los sustantivos en el
lenguaje. Cada clase es un modelo que define un conjunto de variables -el
estado, y métodos apropiados para operar con dichos datos -el comportamiento.
Cada objeto creado a partir de la clase se denomina instancia de la clase.
Las clases son un pilar fundamental de la programación
orientada a objetos. Permiten abstraer los datos y sus operaciones asociadas al
modo de una caja negra. Los lenguajes de programación que soportan clases
difieren sutilmente en su soporte para diversas características relacionadas
con clases. La mayoría soportan diversas formas de herencia. Muchos lenguajes
también soportan características para proporcionar encapsulación, como
especificadores de acceso.
Una clase también puede tener una representación
(metaobjeto) en tiempo de ejecución, que proporciona apoyo en tiempo de
ejecución para la manipulación de los metadatos relacionados con la clase.
Componentes[editar]
Las clases se componen de elementos, llamados
genéricamente «miembros», de varios tipos:
campos de datos: almacenan el estado de la clase por
medio de variables, estructuras de datos e incluso otras clases.
métodos: subrutinas de manipulación de dichos datos.
ciertos lenguajes permiten un tercer tipo de miembro: las
«propiedades», a medio camino entre los campos y los métodos.
Utilizando un símil con el lenguaje, si las clases
representan sustantivos, los campos de datos pueden ser sustantivos o
adjetivos, y los métodos son los verbos.
EJEMPLO:
La sintaxis típica de una clase es:
class Nombre {
// Variables
miembro (habitualmente privadas)
miembro_1;
//lista de miembros
miembro_2;
miembro_3;
// Funciones o
métodos (habitualmente públicas)
funcion_miembro_1( ); // funciones miembro conocidas
funcion_miembro_2 ( ); // funciones como métodos
// Propiedades
(habitualmente públicas)
propiedad_1;
propiedad_2;
propiedad_3;
propiedad_4;
}
Campos de datos
Los campos de datos se utilizan para contener datos que
reflejan el estado de la clase. Los datos pueden estar almacenados en
variables, o estructuras más complejas, como structs, uniones e incluso otras
clases.
Habitualmente, las variables miembro son privadas al
objeto (siguiendo las directrices de diseño del Principio de ocultación) y su
acceso se realiza mediante propiedades o métodos que realizan comprobaciones
adicionales.
Métodos en las clases
Los métodos implementan la funcionalidad asociada al
objeto. Los métodos son el equivalente a las funciones en programación
estructurada. Se diferencian de ellos en que es posible acceder a las variables
de la clase de forma implícita.
Cuando se desea realizar una acción sobre un objeto, se
dice que se le manda un mensaje invocando a un método que realizará la acción.
Propiedades
Las propiedades son un tipo especial de métodos. Debido a
que suele ser común que las variables miembro sean privadas para controlar el
acceso y mantener la coherencia, surge la necesidad de permitir consultar o
modificar su valor mediante pares de métodos: GetVariable y SetVariable.
Los lenguajes orientados a objetos más modernos (por ejemplo Java o C#) añaden la construcción de propiedad, que es una sintaxis simplificada para dichos métodos:
tipo Propiedad {
get {
}
set {
}
}
Declaración de una clase
Esta clase podría ser definida de la siguiente manera en
C++:
class Aritmetica
{
public:
inline int sumar (int a, int b) const
{
return a + b;
}
inline int restar (int a, int b) const
{
return a - b;
}
inline float multiplicar (int a, int b)
const
{
return a * b;
}
inline float dividir (int a, int b)
const
{
return
a / b;
}
};
o como sigue en Python:
class Aritmetica:
def sumar(self, a, b):
return a + b
def restar(self, a, b):
return a - b
def multiplicar(self, a, b):
return a * b
def dividir(self, a, b):
return a / b
Instanciación de una clase en un objeto
Para crear un objeto de tipo 'Aritmetica' (instanciar Aritmetica) en C++ se haría de la siguiente forma:
Aritmetica calculador = Aritmetica();
#Otra manera usando punteros
Aritmetica* calculador1 = new Aritmetica();
la misma operación usando python sería así:
calculador = Aritmetica()
"INTRODUCCIÓN A CLASES EN POO"

No hay comentarios.:
Publicar un comentario