Académique Documents
Professionnel Documents
Culture Documents
Un objeto es una combinación de código y datos que puede tratarse como una
unidad. Un objeto puede ser una porción de una aplicación, como un control o un
formulario. Una aplicación entera también puede ser un objeto.
Reutilizar el código
Los objetos permiten declarar variables y procedimientos una vez y utilizarlos
siempre que sean necesarios. Por ejemplo, si desea agregar un corrector
ortográfico a una aplicación, puede definir todas las variables y funciones
auxiliares para proporcionar funcionalidad de corrección ortográfica. Si crea el
corrector ortográfico como una clase, puede volver a utilizarlo en otras
aplicaciones mediante la inclusión de una referencia en el ensamblado compilado.
Aún mejor, tal vez pueda ahorrarse trabajo mediante el uso de una clase de
corrector ortográfico que otra persona ya haya desarrollado.
Clases
Cada objeto de Visual Basic está definido por una clase. Una clase describe las
variables, propiedades, procedimientos y eventos de un objeto. Los objetos son
instancias de clases; pueden crearse tantos objetos como sean necesarios una
vez que se defina una clase.
Dos ejemplos en Visual Basic podrían ayudar a ilustrar la relación entre las clases
y objetos.
Varias instancias
Los objetos recientemente creados a partir de una clase son a menudo idénticos.
Una vez que existen como objetos individuales no obstante, sus variables y
propiedades se pueden cambiar independientemente de las demás instancias. Por
ejemplo, si agrega tres casillas de verificación a un formulario, cada objeto de
botón de casilla de verificación es una instancia de la clase CheckBox. Los objetos
CheckBox individuales comparten un conjunto de características y funciones
comunes (propiedades, variables, procedimientos y eventos) definidos por la
clase. No obstante, cada uno tiene su propio nombre, puede habilitarse y
deshabilitarse por separado, y puede colocarse en una ubicación diferente en el
formulario.
Atributos
Los atributos de una clase sirven, en principio, para almacenar datos de los
objetos que se
instancian a partir de esa clase.
La sintaxis general es la siguiente:
[ModificadorDeAtributo] tipo nombreAtributo;
5.4.2.1 Modificadores de atributo:
Un atributo puede tener más de un modificador y en caso de ser así, estos se
especificarán
uno detrás de otro, separados mediante un espacio en blanco.
• static
Ya hemos estudiado que existen dos tipos generales de atributos:
• Atributos de instancia/objeto
• Atributos de clase
Los atributos de objeto son variables u objetos que almacenan valores distintos
para objetos
instanciados a partir de esa clase. Los atributos de clase son variables u objetos
que
almacenan el mismo valor para todos los objetos instanciados a partir de esa
clase.
Dicho de otra forma: mientras que a partir de un atributo de objeto de una clase,
se crean en
memoria tantas copias de ese atributo como objetos de esa clase se instancien, a
partir de un
atributo de clase, sólo se crea en memoria una copia de ese atributo que será
compartido por
todos los objetos de la clase que se instancien.
�En Java, si no se especifica lo contrario, los atributos son de objeto y no de
clase.
Para declarar un atributo de clase se utiliza la palabra reservada static. Este
comportamiento
se puede observar en el siguiente ejemplo:
class Persona
{
static int numPersonas=0; // atributo de clase
String nombre; // atributo de objeto
public Persona (String n) //Constructor de la clase.
{
nombre = n;
numPersonas++;
}
public void muestra()
{
System.out.println(" pero hay "+ (numPersonas-1) +" personas
más.");
}
}
public class EjStatic {
public static void main(String[] args) {
Persona p1,p2,p3; //se declaran p2 = new Persona("Ana"); //Se instancia otro
objeto
p2.muestra();//En pantalla:Soy Ana pero hay 1 persona más
p3 = new Persona("Maria"); //Se instancia otro objeto
p3.muestra();//En pantalla:Soy María pero hay 2 personas más
p1.muestra();//En pantalla:Soy Iker pero hay 2 personas má3 objetos
p1 = new Persona("Pedro"); //Se instancia un objeto
p1.muestra();//En pantalla:Soy Pedro pero hay 0 personas más
C++ define tanto para las estructuras como para las clases tres características
aplicables a los miembros de éstas de tal manera que pueden ser public, private ó
protected, éstas son palabras clave de C++. La palabra clave public implica que es
posible tener libre acceso tanto a las variables como a las funciones miembro de
un objeto utilizando el operador punto, como se hace en el programa
clases01.cpp. Por el contrario, la palabra clave private condiciona el acceso a los
miembros de una clase solamente utilizando los métodos de la clase en sí. La
palabra clave protected la estudiaremos más adelante. De lo dicho señalaré la
primera diferencia entre una estructura y una clase en C++, por defecto, los
miembros de una estructura son de caracter public en tanto que los miembros de
una clase tienen la propiedad private, con respecto a la clase ohm del programa
clases02.cpp las variables miembro tienen todas el caracter de private, Usted
puede verificar ésto tratando de asignar un valor de la siguiente manera:
Constructores y destructores
• Se utiliza para crear tablas de métodos virtuales y poder así desarrollar el polimorfismo,
una de las herramientas de la programación orientada a objetos. Al utilizar un constructor,
el compilador determina cual de los objetos va a responder al mensaje (virtual) que hemos
creado.
Un constructor es una función especial que sirve para construir o inicializar objetos. En C+
+ la inicialización de objetos no se puede realizar en el momento en que son declarados; sin
embargo, tiene una característica muy importante y es disponer de una función llamada
constructor que permite inicializar objetos en el momento en que se crean.
• Un constructor es una función que sirve para construir un nuevo objeto y asignar valores a
sus miembros dato. Se caracteriza por:
- No devuelve valores
• Se pueden declarar en una clase constructores múltiples, mientras tomen parte diferentes
tipos o número de argumentos. El compilador es entonces capaz de determinar
automáticamente a qué constructor llamar en cada caso, examinando los argumentos.
• Los argumentos por defecto se pueden especificar en la declaración del constructor. Los
miembros dato se inicializarán a esos valores por defecto, si ningún otro se especifica.
DESTRUCTORES
Un destructor es una función miembro con igual nombre que la clase, pero precedido por el
carácter ~. Una clase sólo tiene una función destructor que, no tiene argumentos y no
devuelve ningún tipo. Un destructor realiza la operación opuesta de un constructor,
limpiando el almacenamiento asignado a los objetos cuando se crean. C++ permite sólo un
destructor por clase. El compilador llama automáticamente a un destructor del objeto
cuando el objeto sale fuera del ámbito. Si un destructor no se define en una clase, se creará
por defecto un destructor que no hace nada.