Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DOCUMENTO DE OBJETOS
Fecha 2013-02-19
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.
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:
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.
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()
La otra forma de instanciar una clase es haciéndolo al mismo tiempo que se declara.
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.
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
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
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.
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
//constructores
Método Complejo( )
raiz = 0
imaginaria = 0
Fin del método Complejo
El constructor por defecto, se ejecuta automáticamente cada vez que se crean objetos sin
pasar argumentos.
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