Вы находитесь на странице: 1из 4

MATERIA: EDI32

DOCUMENTO DE OBJETOS
Fecha 2013-02-19

Instanciar: Crear un objeto en la memoria.

Una vez que se tiene una clase definida, se dispone de una especie de plantilla o molde a
partir de la cual se pueden crear objetos en memoria.

Para crear esos objetos se utiliza la instrucción “nuevo” (new) que es la encargada de
crear el objeto en la memoria y asignar la dirección del mismo a la variable usada en la
parte izquierda de la asignación.

Declarar primero la variable y después instanciarla.

Lo primero que se debe hacer es declarar una variable del tipo que se quiere instanciar,
esto se hace de la misma forma que con cualquier otro tipo de datos:

Objcli es Cliente Cliente Objcli;

Con esta instrucción se está indicando que se usará una variable llamada Objcli para
acceder a una clase de tipo Cliente. Esa variable, cuando llegue el momento de usarla,
sabrá todo lo que hay que saber sobre la clase Cliente, pero hasta que no tenga una
"referencia" a un objeto de ese tipo no se podrá usar.

La asignación de una referencia a un objeto Cliente se hace usando la instrucción “nuevo”


seguida del nombre de la clase:

Objcli = nuevo Cliente() Objcli=new Cliente();

A partir de este momento, la variable Objcli tiene acceso a un nuevo objeto del tipo
Cliente, por tanto se puede usar para asignarle valores y usar cualquiera de los miembros
que ese tipo de datos contenga:

Objcli.Nombre = "Antonio"
Objcli.Apellidos = "Ruiz Rodríguez"
Objcli.Ingresar()

Declarar e instanciar en un solo paso.

La otra forma de instanciar una clase es haciéndolo al mismo tiempo que se declara.

ObjCli es Cliente = nuevo Cliente() Cliente Objcli =new Cliente();

De esta forma se asignará a la variable Objcli una referencia a un nuevo objeto creado en
la memoria, el cual será totalmente independiente del resto de objetos creados con esa
misma clase.

El constructor: El punto de inicio de una clase.

Cada vez que se crea un nuevo objeto en memoria se está llamando al constructor de la
clase. El constructor es una especie de método que se llama de la misma forma que la
clase.
MATERIA: EDI32
DOCUMENTO DE OBJETOS
Fecha 2013-02-19

En el constructor de una clase se puede incluir el código que se crea conveniente, pero
realmente debería incluir el que realice algún tipo de inicialización, en caso de que no se
necesite realizar ningún tipo de inicialización, no es necesario definir el constructor, ya
que el propio compilador lo hará. Esto es así porque todas las clases deben implementar
un constructor, si no se define, lo hará el compilador.

En los constructores también se puede elaborar las inicializaciones que, por ejemplo
permitan a la clase a conectarse con una base de datos, abrir un fichero o cargar una
imagen gráfica, etc.

Constructores parametrizados.

De la misma forma que podemos tener métodos sobrecargados, también podemos tener
constructores sobrecargados.

La ventaja de tener constructores que admitan parámetros es que podemos crear nuevos
objetos indicando algún parámetro, por ejemplo un fichero a abrir o, en el caso de la clase
Cliente, podemos indicar el nombre y apellidos del cliente o cualquier otro dato que
creamos conveniente.

Clase Cliente
Nombre, Apellidos, FechaCreacion es caracter

//constructores

Metodo Cliente()
FechaCreacion = 10/10/13
Fin método cliente

Metodo Cliente(elNombre es caracter, losApellidos es caracter)


Nombre = elNombre
Apellidos = losApellidos;
Fin método cliente

Teniendo esta declaración de la clase Cliente, podemos crear nuevos clientes de dos
formas:
Objcli es Cliente = nuevo Cliente()
Objcli2 es Cliente = nuevo Cliente(("Jose", "Sánchez")

Como podemos comprobar, en ciertos casos es más intuitiva la segunda forma de crear
objetos del tipo Cliente, además de que así nos ahorramos de tener que asignar
individualmente los campos Nombre y Apellidos.

El número y tipo de dato de los parámetros debe estar indicado en la documentación del
método constructor de la clase. En el momento de hacer la llamada al método constructor
hay que cumplir el número de parámetros que admite así como sus tipos de datos.

Hay que tener en cuenta que una misma clase puede tener varios métodos constructores,
todos ellos con el mismo nombre que la clase, pero variará el número y/o tipo de datos de
los parámetros.
MATERIA: EDI32
DOCUMENTO DE OBJETOS
Fecha 2013-02-19

En el momento de llamar al método constructor se pueden indicar como parámetros tanto


valores literales, como variables o cualquier tipo de expresión siempre que se cumpla con
el requisito de que debe respetarse el tipo de dato.

El constructor es un método especial de una clase. El objetivo fundamental del constructor


es inicializar los atributos del objeto que creamos.

Las ventajas de implementar un constructor son:


1. El constructor es el primer método que se ejecuta cuando se crea un objeto.
2. El constructor se llama automáticamente. Es decir es imposible de olvidarse de
llamarlo ya que se llamará automáticamente.
3. Quien utiliza POO (Programación Orientada a Objetos) conoce el objetivo de este
método.

Otras características de los constructores son:


 El constructor se ejecuta inmediatamente luego de crear un objeto y no puede ser
llamado nuevamente.
 Un constructor no puede retornar dato.
 Un constructor puede recibir parámetros que se utilizan normalmente para
inicializar atributos.
 El constructor es un método opcional, de todos modos es muy común definirlo.

Métodos constructores.

Los diseñadores del lenguaje decidieron asignar la tarea de inicializar los objetos a los
métodos constructores. La consideraron tan importante que si el programador no declara
ningún método constructor, el compilador se encarga de definir un constructor de oficio.

Un constructor es una función miembro pública con el mismo nombre de la clase.

Se ejecuta automáticamente al crearse un objeto de la clase.

Es más adecuado colocar el código de inicialización en un método constructor que en una


función, así podemos estar seguros de que el código de inicialización se va a ejecutar
siempre sobre cualquier objeto que se cree de esa clase.

Si la inicialización se encuentra en otro método, se nos puede olvidar enviar el mensaje


correspondiente al objeto.

Sobrecarga de funciones constructoras.

Al igual que para el resto de los métodos, podemos tener varias funciones constructoras;
esto nos produce varias formas de inicialización.

Clase Complejo

//atributos propios y private


raiz es real
imaginaria es real
MATERIA: EDI32
DOCUMENTO DE OBJETOS
Fecha 2013-02-19

//constructores
Método Complejo( )
raiz = 0
imaginaria = 0
Fin del método Complejo

Método Complejo ( a es real )


raiz = a
imaginaria = 0
Fin del método Complejo

Método Complejo(a es real, b es real)


raiz l = a
imaginaria = b
Fin del método Complejo

Fin clase Complejo

El constructor por defecto.

En las clases debe existir un constructor que no tenga argumentos, se le llamará


constructor por defecto o constructor predeterminado.

El constructor por defecto, se ejecuta automáticamente cada vez que se crean objetos sin
pasar argumentos.

Teoría extraída y modificada de:

http://pythonya.appspot.com/detalleconcepto?deta=Metodo%20constructor%20de%20una
%20clase
http://javiergarbedo.es/index.php/2-clases-y-objetos/218-instanciacion-de-objetos
http://gpd.sip.ucm.es/yolanda/LP2/lp2-162.pdf
http://www.zonacodigos.com/index.php/c/15-instanciar-una-clase
http://javiergarbedo.es/index.php/2-clases-y-objetos/218-instanciacion-de-objetos

Вам также может понравиться