Академический Документы
Профессиональный Документы
Культура Документы
13
• Género
• Edad
Estudiante • Promedio
• U. Créditos
• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 4
Estructura
Conjunto de datos manipulados a través de sólo 1
variable.
• Nombre
• Género
• Edad Sólo
1 Variable
Estudiante • Promedio
• U. Créditos
• Eficiencia
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 5
Estructura
Conjunto de datos manipulados a través de sólo 1
variable.
Edad Promedio
U. Créditos Nombre
Genero
Eficiencia
Variable
¿Identifícate?
Programa
Estudiante
¿Identifícate?
Programa
Subrutina1
Edad Promedio
Función2
U. Créditos Nombre
Función1
Genero
Eficiencia
Subrutina2
Conjunto de Datos
Conjunto de Módulos
Subrutina1
Edad Promedio
Función2
U. Créditos Nombre
Función1
Genero
Eficiencia
Subrutina2
Objeto
NOMBRE
dato1
dato2
dato3
…
datoN
modulo1(parametro1, …)
módulo2(parametro1, …)
…
moduloM(parametro1, …)
class NOMBRE
dim identificador1
…
dim identificadorN
sub subrutina1(parametro1,…)
…
end sub
…
function funcion1(parametro1,…)
…
end function
end class
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 25
1. Definición del Objeto
Palabra clave que indica que se esta
definiendo un objeto
class NOMBRE
dim identificador1
…
dim identificadorN
sub subrutina1(parametro1,…)
…
end sub
…
function funcion1(parametro1,…)
…
end function
end class
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 26
1. Definición del Objeto
class NOMBRE
Nombre del objeto
dim identificador1
…
dim identificadorN
sub subrutina1(parametro1,…)
…
end sub
…
function funcion1(parametro1,…)
…
end function
En la notación se colocará el nombre
end class en mayúsculas para el objeto definido.
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 27
1. Definición del Objeto
class NOMBRE
dim identificador1
… Conjunto de datos
dim identificadorN
sub subrutina1(parametro1,…)
…
end sub
…
function funcion1(parametro1,…)
…
end function
end class
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 28
1. Definición del Objeto
class NOMBRE
dim identificador1
…
dim identificadorN
sub subrutina1(parametro1,…)
…
end sub
Conjunto de módulos
…
function funcion1(parametro1,…)
…
end function
end class
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 29
1. Definición del Objeto
Ejemplo: Definir el objeto del ejemplo anterior en
VBScript:
classESTUDIANTE sub identificar()
dimnombre document.write("Nombre
dimgenero :"&nombre&" Genero:"&
dimedad genero&" Edad:"&edad&
dimpromedio " Promedio:"&promedio&
dimcreditos " Creditos:"&creditos&
dimeficiencia " Eficiencia:"&eficien
subcrear(nombre0,…) cia
nombre = nombre0 end sub
genero = genero0 end class
edad = edad0
promedio=promedio0
creditos=creditos0
eficiencia=eficiencia0
end sub
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 30
1. Definición del Objeto
<html>
<head>
<title>Título<\title>
<script>
DEFINICIÓN DE OBJETOS Y ESTRUCTURAS
Declaración y definición de módulos
La definición </script>
del objeto se
</head>
debe realizarse
<body>
antes de las
Contenido Original
declaraciones de
módulos y de </body>
variables <script>
Programa Principal
</script>
</html>
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 31
2. Declaración de la Variable
Ejemplo:
' Asigna promedio a estudiante
estudiante1.promedio = 18; Accede a campo
' Muestra los datos del estudiante
call estudiante1.identificar(); Accede a método
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 37
Manejo de una variable objeto
Internamente: NO se utiliza el operador miembro .,
para acceder a miembros del propio objeto:
variable.miembro
Ejemplo: Método del objeto ESTUDIANTE
sub crear(nombre0,…)
nombre = nombre0
genero = genero0
… Método del objeto ESTUDIANTE
sub identificar()
document.write("Nombre :"&nombre&" Genero:"&
genero&" Edad:"&edad&" Promedio:"&promedio&
… Informática – Prof. Gonzalo Müller – Clase 13 – GM - 38
Manejo de una variable objeto
Internamente: NO se utiliza el operador miembro .,
para acceder a miembros del propio objeto:
variable.miembro
Ejemplo: ESTUDIANTE
nombre
genero
sub crear(nombre0,…) edad
promedio
nombre = nombre0 …
Declaración y Definición
… nombre(byref parámetro1, …)
Llamada:
dim variable1;
…
set variable1 = new OBJETO
…
… nombre(variable1, …)
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 48
Objeto como Parámetro en VBScript
Declaración y Definición
… nombre(parámetro1, …) Equivalente
Llamada:
dim variable1;
…
set variable1 = new OBJETO
…
… nombre(variable1, …)
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 49
Objeto como Parámetro en VBScript
Ejemplo:
alumno1
alumno2 mayorNota
nota
dim nota
if(alumno1.promedio>alumno2.promedio) then
nota = alumno1.promedio
else
nota = alumno2.promedio
end if
mayorNota = nota
end function
dim nota
if(alumno1.promedio>alumno2.promedio) then
nota = alumno1.promedio
else
nota = alumno2.promedio
end if
mayorNota = nota
end function
mayor
alumno1
alumno2 mayorNota
end if alumno1
mayorNota
end sub alumno2
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 55
Objeto como Retorno en VBScript
objetos
Ejemplo:
sub mayorNota(alumno1, alumno2, mayor)
if(alumno1.promedio>alumno2.promedio) then
mayor.nombre = alumno1.nombre
mayor.genero = alumno1.genero
…
else
mayor.nombre = alumno2.nombre
mayor.genero = alumno2.genero
… mayor
end if alumno1
mayorNota
end sub alumno2
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 56
Objeto como Retorno en VBScript
entran sale
Ejemplo:
sub mayorNota(alumno1, alumno2, mayor)
if(alumno1.promedio>alumno2.promedio) then
mayor.nombre = alumno1.nombre
mayor.genero = alumno1.genero
…
else
mayor.nombre = alumno2.nombre
mayor.genero = alumno2.genero
… mayor
end if alumno1
mayorNota
end sub alumno2
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 57
Objeto como Retorno en VBScript
Ejemplo:
alumno1
alumno2 mayorNota
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 58
Objeto como Retorno en VBScript
Ejemplo: En el programa principal
alumno1
mayor mayorNota
Objeto
Objeto
Abstracción
Encapsulamiento
Herencia
Polimorfismo
Delegación
Patrones
Constructores
…
UML NOMBRE
campo1
…
campoN
metodo1(parametro1, …)
…
metodoM(parametro1, …)
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 75
Resumen
Objetos en VBScript:
1º Se debe definir el objeto: class
Antes de las declaraciones de módulos y de variables
2º Se declara la variable objeto: dim
3º Se crea el objeto: set y new
set variable = new OBJETO
Manejo de una variable objeto:
Miembros: Campo, Métodos.
Operador miembro . .
Operador = en VBScript NO realiza copia.
Informática – Prof. Gonzalo Müller – Clase 13 – GM - 76
Resumen
VBScript no manejan estructuras: Las estructuras en
VBScript son objetos sin métodos.
Módulos con objetos:
En VBScript los Objetos siempre son pasados
como parámetros por referencia.
Copia de una objeto utilizando un método.