SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
LENGUAJE DE PROGRAMACIÓN II
                                             Semana Nº11                                 CLASES
Docente: 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                                CLASES
Docente: 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                                   CLASES
Docente: 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                            CLASES
Docente: 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                                CLASES
Docente: 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                                  CLASES
Docente: 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                       CLASES
Docente: 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                               CLASES
Docente: 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

Más contenido relacionado

La actualidad más candente

Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos Marielena Lujano
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013Edgar Rosas
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)Eric Martinez Aguilar
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevjtk1
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 

La actualidad más candente (20)

Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prev
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Poo presentacion
Poo presentacionPoo presentacion
Poo presentacion
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
POO
POOPOO
POO
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 

Destacado (20)

Pasajeros del programa de radio EL AUTOBÚS DE JIMMY
Pasajeros del programa de radio EL AUTOBÚS DE JIMMYPasajeros del programa de radio EL AUTOBÚS DE JIMMY
Pasajeros del programa de radio EL AUTOBÚS DE JIMMY
 
Taller 5
Taller 5Taller 5
Taller 5
 
45 fotografias historicas
45 fotografias historicas45 fotografias historicas
45 fotografias historicas
 
Sinestesia brochure (2014)
Sinestesia brochure (2014)Sinestesia brochure (2014)
Sinestesia brochure (2014)
 
WIKISPACES
WIKISPACESWIKISPACES
WIKISPACES
 
Nanotecnologia en la medicina
Nanotecnologia en la medicinaNanotecnologia en la medicina
Nanotecnologia en la medicina
 
NORMAS APA
NORMAS APA NORMAS APA
NORMAS APA
 
Invertir en bienestar
Invertir en bienestarInvertir en bienestar
Invertir en bienestar
 
TIC
TICTIC
TIC
 
Mover apostolico en el juego illuminati
Mover apostolico en el juego illuminatiMover apostolico en el juego illuminati
Mover apostolico en el juego illuminati
 
Presentación fotos ecos nº -18 -72
Presentación  fotos ecos nº -18 -72Presentación  fotos ecos nº -18 -72
Presentación fotos ecos nº -18 -72
 
Búsquedas avanzadas2
Búsquedas avanzadas2Búsquedas avanzadas2
Búsquedas avanzadas2
 
ALIMENTACIÓN_ NUTRICIÓN 2014_2015
ALIMENTACIÓN_ NUTRICIÓN 2014_2015 ALIMENTACIÓN_ NUTRICIÓN 2014_2015
ALIMENTACIÓN_ NUTRICIÓN 2014_2015
 
Aprender investigando ie54
Aprender investigando ie54Aprender investigando ie54
Aprender investigando ie54
 
Presentación de la unidad 1 intro i.s.
Presentación de la unidad 1 intro i.s. Presentación de la unidad 1 intro i.s.
Presentación de la unidad 1 intro i.s.
 
Aproca
AprocaAproca
Aproca
 
Educacion 2.0
Educacion 2.0Educacion 2.0
Educacion 2.0
 
Wix
WixWix
Wix
 
La marca debe ser humana
La marca debe ser humanaLa marca debe ser humana
La marca debe ser humana
 
La Oratoria
La OratoriaLa Oratoria
La Oratoria
 

Similar a Memch clases lep ii

Clases y funciones_especiales
Clases y funciones_especialesClases y funciones_especiales
Clases y funciones_especialesWladimir
 
Grupo 6 - clases
Grupo 6  - clasesGrupo 6  - clases
Grupo 6 - claseszeta2015
 
Diseño y realizacion jessica proaño
Diseño y realizacion jessica proañoDiseño y realizacion jessica proaño
Diseño y realizacion jessica proañoPaty Love
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosJonathan Macías
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxjavierccallo
 
Apunte paradigma orientado a objetos
Apunte paradigma orientado a objetosApunte paradigma orientado a objetos
Apunte paradigma orientado a objetosAlejandro Canosa
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfMariaTeresaGarznPrez
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf202100941c
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Javamartosfre
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basicgerardd98
 

Similar a Memch clases lep ii (20)

Informacion
InformacionInformacion
Informacion
 
Clases y funciones_especiales
Clases y funciones_especialesClases y funciones_especiales
Clases y funciones_especiales
 
Grupo 6 - clases
Grupo 6  - clasesGrupo 6  - clases
Grupo 6 - clases
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
Clases en java
Clases en javaClases en java
Clases en java
 
Diseño y realizacion jessica proaño
Diseño y realizacion jessica proañoDiseño y realizacion jessica proaño
Diseño y realizacion jessica proaño
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
Apunte paradigma orientado a objetos
Apunte paradigma orientado a objetosApunte paradigma orientado a objetos
Apunte paradigma orientado a objetos
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
Act10byme
Act10bymeAct10byme
Act10byme
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basic
 

Memch clases lep ii

  • 1. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 2. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 3. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 4. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 5. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 6. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 7. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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
  • 8. LENGUAJE DE PROGRAMACIÓN II Semana Nº11 CLASES Docente: 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