Memch   clases lep ii
Upcoming SlideShare
Loading in...5
×
 

Memch clases lep ii

on

  • 641 views

 

Statistics

Views

Total Views
641
Views on SlideShare
641
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Memch   clases lep ii Memch clases lep ii Document Transcript

  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: 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 Área: Computación e Informática Página | 1
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: 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. Área: Computación e Informática Página | 2
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: 2. En el Panel Planilla, seleccionar el icono Biblioteca de Clases. 3. Colocar en Nombre: CL_PERSONA PERSONA 4. En el Explorador de soluciones, cambiamos el nombre de la clase: Class1.vb por PERSONA : 5. Guardar TODO. Las propiedades pueden ser adicionadas a una clase en una de estas dos formas: como un campo o como formas: procedimiento. También puedes terminar como trabajar con propiedades usando PUBLIC, READONLY O WRITEONLY CAMPOS Y PROCEDIMIENTOS DE PROPIEDADES Los campos son realmente variables p públicas dentro de una clase, las cuales pueden ser establecidas o leídas fuera er de la clase. Son útiles para las propiedades que no necesitan ser va validadas. Para agregar un campo a una clase, escribe el siguiente c código: Public <Nombre> as Tipo_dato Área: Computación e Informática Página | 3
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: 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 La primer línea del código Public Property PrimerNombre() As String declara como privada la variable Procedimientos: Get tipo cadena Nombre, la cual GET: contiene el código almacena de la propiedad. PrimerNombre = Nombre que va a ser ejecutado cuando leas el valor. End Get SET: contiene código Set(ByVal value As String) usado para asignar un Nombre = value nuevo valor a la variable End Set nombre, usando un valor pasado como argumento. 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. Área: Computación e Informática Página | 4
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: Asi mismo la palabra clave WRITEONLY permite que no se lea el valor de un propiedad. d. Las dos palabras claves son tambié útiles cuando deseas tomar un valor de propiedad y convertirlo a un valor én ropiedad distinto. 7. Adicionar las propiedades READONLY Edad y WRITEONLY CalculaAñoNac a la clase CL_PERSONA clase: ReadOnly Property Edad() As String Get Devuelve un valor calculando Edad = My.Computer.Clock.LocalTime.Year - AñoNac .Computer.Clock.LocalTime.Year la diferencia entre el año actual End Get y el año de nacimiento. End Property ------------------------------------------------------- WriteOnly Property Calañonac() As Integer Set(ByVal value As Integer) Representa el año a de AñoNac = value nacimiento, el cual nunca End Set cambia. End Property MÉTODS DE UNA CLASE Los métodos de una clase son procedimientos o fun funciones declarados dentro de la clase. Public sub PROCEDIMIENTO ( ) Public Function Función (Var as Tipo_dato) As Tipo_dato End Sub End Function Las mayoría de los métodos de la clase son públicos, pero también se pueden agregar métodos que sólo los utilicen la misma clase. 8. A la clase: CL_PERSONA, adicionar los siguientes métodos. : CRER UNA INSTANCIA DE CLASE Para crear una instancia de una clase puedes trabajar con el siguiente código: ar Dim Nombre As New Nombre 9. Agregar un Nuevo Proyecto: a. Clic en el Menú Archivo/Agregar/Nuevo Proyecto Proyecto. Área: Computación e Informática Página | 5
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: b. Seleccionar del panel de plantilla Aplicación para Windows y en nombre digitar ProbarPersona el digitar: c. En el Explorador de Soluciones, selecciona el proyecto ProbarPersona con clic derecho para Establecer xplorador ProbarPersona como Proyecto de Inicio. d. Nuevamente clic derecho para agregar referencia aparecerá en la Ficha Proyectos referencia, Proyectos: Área: Computación e Informática Página | 6
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: e. Doble clic sobre formulario y digita digita: Dim person1 As New CL_PERSONA.PERSONA Donde: CL_PERSONA, es el proyecto y PERSONA es la clase. PROBAR UNA CLASE 10. En el formulario Diseñar las siguiente aplicaci ñar aplicación: 11. Ahora deberá programar los Botones ACTUALIZAR y NOMNRE COMPLETO. Digita Botones: igitar Área: Computación e Informática Página | 7
  • LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASESDocente: Ing. Mónica E. Morante Chumpén Alumno: Private Sub BtnAc_Click( BtnAc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAc.Click With person1 .PrimerNombre = txtnom.Text .ApePaterno = txtapepa.Text .ApeMaterno = txtapema.Text .Calañonac = txtanac.Text .situ = chkcac.Checked End With BtnNom.Enabled = True End Sub Private Sub BtnNom_Click( BtnNom_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNom.Click Prueba el método NombreCompleto MsgBox(person1.NombreCompleto) Prueba la propiedad Edad y el método caso nombrecompleto nombrecompleto MsgBox(CStr(Me Me.person1.Edad) & " Años de Edad") If person1.situ = True Then MsgBox(person1.PrimerNombre & " Esta Activo") Else MsgBox(person1.PrimerNombre & " Es Cesante") End If BtnNom.Enabled = False End Sub 12. Ejecutar Aplicación. CASO PRÁCTICO Nº01: Diseñar y codificar aplicación que permita determinar la condición académica de un alumno. icar Área: Computación e Informática Página | 8