En
la programación orientada a objetos, una clase
es una construcción que se utiliza como un modelo (o plantilla) para
crear objetos de ese tipo. El modelo describe el estado y el
comportamiento que todos los objetos de la clase comparten. Un objeto
de una determinada clase se denomina una instancia de la clase. La
clase que contiene (y se utilizó para crear) esa instancia se puede
considerar como del tipo de ese objeto, por ejemplo, una instancia
del objeto de la clase "Persona" sería del tipo "Persona".
Una
clase por lo general representa un sustantivo, como una persona,
lugar o (posiblemente bastante abstracta) cosa - es el modelo de un
concepto dentro de un programa de computadora. Fundamentalmente,
encapsula el estado y el comportamiento del concepto que representa.
Encapsula el estado a través de marcadores de datos llamados
atributos (o variables miembro o variables de instancia), y encapsula
el comportamiento a través de secciones de código reutilizables
llamados métodos.
Más
técnicamente, una clase es un conjunto coherente que consiste en un
tipo particular de metadatos. Una clase tiene tanto una interfaz y
una estructura. La interfaz describe cómo interactuar con la clase y
sus instancias con métodos, mientras que la estructura describe cómo
los datos se dividen en atributos dentro de una instancia. 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. En el
diseño orientado a objetos, una clase es el tipo más específico de
un objeto en relación con una capa específica.
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 es un contenedor de uno o más datos (variables o
propiedades miembro) junto a las operaciones de manipulación de
dichos datos (métodos). Las clases pueden definirse como
estructuras (struct), uniones (union) o clases (class) pudiendo
existir diferencias entre cada una de las definiciones según el
lenguaje. Además las clases son agrupaciones de objetos que
describen su comportamiento.
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;
Las
clases habitualmente se denotan con nombres abstractos como Animal,
Factura...
aunque también pueden representar procesos o acciones como DarAlta
Variables miembro
Las
propiedades o atributos son características de los objetos. Cuando
definimos una propiedad normalmente especificamos su nombre y su
tipo. Nos podemos hacer a la idea de que las variables son algo así
como el almacén de los datos de estado relacionados con los objetos.
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.
Suelen
denominarse con nombres.
Métodos en las clases
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.
Habitualmente,
los métodos suelen ser verbos.
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,
C#)
añaden la construcción de propiedad que es una sintaxis
simplificada para dichos métodos:
tipo Propiedad {
get {
}
set {
}
}
Las
propiedades se denominan con nombres
como las variables
excelente contenido muy bueno tu blog
ResponderEliminargracias
Eliminar