Memch clases lep ii
-
Upload
dani-safres -
Category
Documents
-
view
685 -
download
4
Transcript of Memch clases lep ii
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAAMMAACCIIÓÓNN IIII
Semana Nº11 CLASES
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummppéénn Alumno:
Área: Computación e Informática Página | 1
CLASE
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 esa clase. Este 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 "Personas" sería del tipo "Personas".
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), 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.
Componentes
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
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAAMMAACCIIÓÓNN IIII
Semana Nº11 CLASES
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummppéénn Alumno:
Área: Computación e Informática Página | 2
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 los lenguajes
estructurados. 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 {
}
}
De esta forma es posible realizar operaciones sobre las propiedades como si fuesen variables normales, el
compilador se encarga de crear el código apropiado que llame a la cláusula get o set según se necesite.
Las propiedades se denominan con nombres como las variables.
CREAR CLASES
Se pueden crear clases de tres formas: como parte del código en un modulo de formulario en una aplicación
Windows de un proyecto, como modulo separado de la clase adicionado a una aplicación de Windows de un
proyecto, o como una biblioteca de clases independiente del proyecto.
MÓDULO DE CLASES
Es un archivo separado de código que contiene unas o más clases y puede ser reutilizado en otros proyectos. Los
módulos de la clase se pueden crear de dos formas: como módulo agregado a una aplicación de Windows de un
proyecto, o como una biblioteca de clase independiente del proyecto.
Para crear un biblioteca de clase de un proyecto, realiza lo siguiente:
1. Clic en el botón Nuevo Proyecto.
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummpp
Área: Computación e Informática
2. En el Panel Planilla, seleccionar
3. Colocar en Nombre: CL_PERSONA
4. En el Explorador de soluciones, cambiamos el nombre de
5. Guardar TODO.
Las propiedades pueden ser adicionadas a una clase en una de estas dos formas
procedimiento. También puedes terminar como trabajar con propiedades usando
WRITEONLY
CAMPOS Y PROCEDIMIENTOS DE PROPIEDADES
Los campos son realmente variables p
de la clase. Son útiles para las propiedades que no necesitan ser va
Para agregar un campo a una clase, escribe el siguiente c
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAA
Semana Nº11 CLASES
ppéénn Alumno:
seleccionar el icono Biblioteca de Clases.
PERSONA
En el Explorador de soluciones, cambiamos el nombre de la clase: Class1.vb por PERSONA
Las propiedades pueden ser adicionadas a una clase en una de estas dos formas: como un campo o como
puedes terminar como trabajar con propiedades usando PUBLIC, READONLY O
CAMPOS Y PROCEDIMIENTOS DE PROPIEDADES
Los campos son realmente variables públicas dentro de una clase, las cuales pueden ser establecidas o
para las propiedades que no necesitan ser validadas.
Para agregar un campo a una clase, escribe el siguiente código:
Public <Nombre> as Tipo_dato
AAMMAACCIIÓÓNN IIII
CLASES
Página | 3
: Class1.vb por PERSONA
: como un campo o como
PUBLIC, READONLY O
er establecidas o leídas fuera
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAAMMAACCIIÓÓNN IIII
Semana Nº11 CLASES
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummppéénn Alumno:
Área: Computación e Informática Página | 4
Ejemplo: Public situ as Boolean
En la mayoría de casos desearan utilizar un procedimiento de la propiedad para agregar una propiedad a una clase.
Los procedimientos de la propiedad empiezan con la propiedad Public y termina con la propiedad End y tiene tres
proporciones: una declaración de una variable privada para almacenar el valor de la propiedad; un procedimiento
GET que expone el valor y un procedimiento SET que fija el valor.
Ejemplo:
Private Nombre As String
Public Property PrimerNombre() As String Get PrimerNombre = Nombre End Get Set(ByVal value As String) Nombre = value End Set End Property
6. Agregar el siguiente código a la clases PERSONA.Vb
Private Nombre As String Private Apepat As String Private Apemat As String Public situ As Boolean Public Property PrimerNombre() As String Get PrimerNombre = Nombre End Get Set(ByVal value As String) Nombre = value End Set End Property Public Property ApePaterno() As String Get ApePaterno = Apepat End Get Set(ByVal value As String) Apepat = value End Set End Property Public Property ApeMaterno() As String Get ApeMaterno = Apemat End Get Set(ByVal value As String) Apemat = value End Set End Property
PROPIEDADES READONLY Y WRITEONLY
Algunas propiedades son establecidas una sola vez y no pueden ser cambiadas durante la ejecución del programa.
La palabra clave READONLY se utiliza para especificar que un valor de propiedad puede ser leído pero no ser modificado. Si intentas asignar un valor a una propiedad READONLY, ocurrira un error en el editor de codigo.
La primer línea del código declara como privada la variable
tipo cadena Nombre, la cual almacena de la propiedad.
Procedimientos: GET: contiene el código que va a ser ejecutado
cuando leas el valor. SET: contiene código
usado para asignar un
nuevo valor a la variable nombre, usando un valor
pasado como argumento.
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummpp
Área: Computación e Informática
Asi mismo la palabra clave WRITEONLY
Las dos palabras claves son tambié
distinto.
7. Adicionar las propiedades READONLY
ReadOnly Property Edad() Get
Edad = My.Computer.Clock.LocalTime.Year End Get
End Property -------------------------------------------------------WriteOnly Property Calañonac() Set(ByVal value As AñoNac = value
End Set End Property
MÉTODS DE UNA CLASE
Los métodos de una clase son procedimientos o fun
Public sub PROCEDIMIENTO
End Sub
Las mayoría de los métodos de la clase son
la misma clase.
8. A la clase: CL_PERSONA, adicionar los siguientes
CRER UNA INSTANCIA DE CLASE
Para crear una instancia de una clase puedes trabajar con el siguiente
9. Agregar un Nuevo Proyecto:
a. Clic en el Menú Archivo/Agregar/Nuevo Proyecto
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAA
Semana Nº11 CLASES
ppéénn Alumno:
WRITEONLY permite que no se lea el valor de un propiedad.
én útiles cuando deseas tomar un valor de propiedad y convertirlo a un valor
READONLY Edad y WRITEONLY CalculaAñoNac a la clase
Edad() As String
.Computer.Clock.LocalTime.Year - AñoNac
------------------------------------------------------- Calañonac() As Integer
Integer)
de una clase son procedimientos o funciones declarados dentro de la clase.
PROCEDIMIENTO ( ) Public Function Función (Var as Tipo_dato)
End Function
de la clase son públicos, pero también se pueden agregar métodos
: CL_PERSONA, adicionar los siguientes métodos.
CRER UNA INSTANCIA DE CLASE
ar una instancia de una clase puedes trabajar con el siguiente código:
Dim Nombre As New Nombre
Archivo/Agregar/Nuevo Proyecto.
Devuelve un valor calculando
la diferencia entre el año actual
y el año de nacimiento.
Representa el a
nacimiento, el cual nunca
cambia.
AAMMAACCIIÓÓNN IIII
CLASES
Página | 5
d.
ropiedad y convertirlo a un valor
a la clase: CL_PERSONA
(Var as Tipo_dato) As Tipo_dato
métodos que sólo los utilicen
Devuelve un valor calculando
la diferencia entre el año actual
y el año de nacimiento.
Representa el año de
nacimiento, el cual nunca
cambia.
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummpp
Área: Computación e Informática
b. Seleccionar del panel de plantilla
c. En el Explorador de Soluciones, selecciona el proyecto Proba
como Proyecto de Inicio.
d. Nuevamente clic derecho para agregar referencia
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAA
Semana Nº11 CLASES
ppéénn Alumno:
el panel de plantilla Aplicación para Windows y en nombre digitar
xplorador de Soluciones, selecciona el proyecto ProbarPersona con clic derecho para
como Proyecto de Inicio.
Nuevamente clic derecho para agregar referencia, aparecerá en la Ficha Proyectos
AAMMAACCIIÓÓNN IIII
CLASES
Página | 6
y en nombre digitar: ProbarPersona
rPersona con clic derecho para Establecer
Proyectos:
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummpp
Área: Computación e Informática
e. Doble clic sobre formulario y digita
Donde: CL_PERSONA, es el
PROBAR UNA CLASE
10. En el formulario Diseñar las siguiente aplicaci
11. Ahora deberá programar los Botones
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAA
Semana Nº11 CLASES
ppéénn Alumno:
Doble clic sobre formulario y digita:
Dim person1 As New CL_PERSONA.PERSONA
CL_PERSONA, es el proyecto y PERSONA es la clase.
ñar las siguiente aplicación:
programar los Botones: ACTUALIZAR y NOMNRE COMPLETO. Digita
AAMMAACCIIÓÓNN IIII
CLASES
Página | 7
CL_PERSONA.PERSONA
igitar
DDoocceennttee:: IInngg.. MMóónniiccaa EE.. MMoorraannttee CChhuummpp
Área: Computación e Informática
Private Sub BtnAc_Click(System.EventArgs) Handles With person1 .PrimerNombre = txtnom.Text .ApePaterno = txtapepa.Text .ApeMaterno = txtapema.Text .Calañonac = txtanac.Text .situ = chkcac.Checked End With BtnNom.Enabled = End Sub Private Sub BtnNom_Click(System.EventArgs) Handles 'Prueba el método NombreCompleto MsgBox(person1.NombreCompleto) 'Prueba la propiedad Edad y el método caso nom MsgBox(CStr(Me If person1.situ = MsgBox(person1.PrimerNombre & Else MsgBox(person1.PrimerNombre & End If BtnNom.Enabled = End Sub
12. Ejecutar Aplicación.
CASO PRÁCTICO Nº01:
Diseñar y codificar aplicación que permita
LLEENNGGUUAAJJEE DDEE PPRROOGGRRAA
Semana Nº11 CLASES
ppéénn Alumno:
BtnAc_Click(ByVal sender As System.Object, ByValHandles BtnAc.Click
.PrimerNombre = txtnom.Text
.ApePaterno = txtapepa.Text
.ApeMaterno = txtapema.Text
.Calañonac = txtanac.Text
.situ = chkcac.Checked
BtnNom.Enabled = True
BtnNom_Click(ByVal sender As System.Object, ByValHandles BtnNom.Click
'Prueba el método NombreCompleto MsgBox(person1.NombreCompleto) 'Prueba la propiedad Edad y el método caso nombrecompleto
Me.person1.Edad) & " Años de Edad") person1.situ = True Then MsgBox(person1.PrimerNombre & " Esta Activo")
MsgBox(person1.PrimerNombre & " Es Cesante")
BtnNom.Enabled = False
CASO PRÁCTICO Nº01:
icar aplicación que permita determinar la condición académica
AAMMAACCIIÓÓNN IIII
CLASES
Página | 8
ByVal e As
ByVal e As
brecompleto
académica de un alumno.