miércoles, 20 de septiembre de 2017

PROGRAMACIÓN ORIENTADA A OBJETOS




INGENIERÍA DE SISTEMAS Y
TELEMÁTICA



AREA: LABORATORIO DE PROGRAMACIÓN III

              DOCENTE: ING. MARCO PORRO

TEMA: PROGRAMACIÓN ORIENTADA A OBJETOS

              INTEGRANTES:
Ø  INGRID LESLY CORONEL ACUÑA
Ø  CRISTHIAN SERGIO KAYAP YAGKIKAT


BAGUA GRANDE – AMAZONAS – PERÚ


PROGRAMACIÓN ORIENTADA A OBJETOS
  
      I. MARCO TEORICO

  1.1.  DEFINICION:

 La programación Orientada a objetos (POO) es una forma especial de programar, más       cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir        nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos      rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco          con este tipo de programación.

      1.2.  CONSEPTOS BASICOS:

ü  CLASE:                                                                                                                            Las clases son los modelos sobre los cuáles se construirán nuestros objetos. Podemos tomar como ejemplo de clases, el gráfico que hicimos en la página 8 de este documento.

ü  METODOS:                                      
   Una operación que realiza acceso a los datos. Podemos definir método como un programa procedimental o procedural escrito en cualquier lenguaje, que está asociado a un objeto determinado y cuya ejecución sólo puede desencadenarse a través de un mensaje recibido por éste o por sus descendientes.

ü  HERENCIA:                                                                                                                     El mecanismo de herencia permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente todo su comportamiento, pero además pueden introducir características particulares propias que las diferencian.

ü  SOBRECARGA:                                                                                                                                           La Sobrecarga es uno de los procedimientos mediante el cual Java implementa el polimorfismo(en programación orientada a objetos es la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación)

ü  EVENTO:                                                                                                                                     
   Un evento es una acción que un objeto reconoce, como hacer clic con el mouse (ratón) o presionar una tecla, y para el que puede escribir código para responder. Los eventos se producen como consecuencia de una acción del usuario o de código de programa, o bien pueden ser desencadenados por el sistema. También puede desarrollar eventos personalizados propios para que los generen sus objetos y los controlen otros objetos.



ü  OBJETO:      
 Un objeto representa una instancia de una clase, como Form, Control o Component. En código de Visual Basic, debe crear una instancia de un objeto antes de poder aplicar uno de los métodos del objeto o cambiar el valor de una de sus propiedades. La creación de instancias es el proceso mediante el cual se crea una instancia de una clase y se asigna a una variable de objeto.

ü  PROPIEDADES:                                                                                                                              Una propiedad es un atributo de un objeto que define una de las características del objeto, como tamaño, color o ubicación en pantalla, o un aspecto de su comportamiento, por ejemplo, si está habilitado o visible. Para cambiar las características de un objeto, se cambian los valores de las propiedades correspondientes.

üMENSAJE:                                                                                                                                              Aunque los objetos se han de diferenciar claramente en una aplicación, estos se han de poder comunicar para poder trabajar en conjunto y construir así aplicaciones. Esto se hace posible a través de lo que se denomina paso de mensajes. Cuando un objeto quiere comunicarse con otro lo que hace es enviarle un mensaje con los datos que desea transmitir.

ü  INSTANCIA:                                                                                                                                         Se llama instancia a todo objeto que derive de algún otro. De esta forma, todos los objetos son instancias de algún otro, menos la clase Objeto que es la madre de todas.



1.3.   CARACTERÍSTICAS:
ü  ABSTRACCIÓN:                                                                                                             Expresa las características esenciales de un objeto, la cual distingue al objeto de los demás.



ü  ENCAPSULAMIENTO:                                                                                              El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación.La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.



ü  PRINCIPIO DE OCULTACIÓN:                                                        
     Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que específica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.



ü  POLIMORFISMO:                                                                                           comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en “tiempo de ejecución”, esta última característica se llama asignación tardía o asignación dinámica.


EJEMPLO:

ü  HERENCIA:                                                                                                          las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple. 

   EJEMPLO:







1.4. PROGRAMACION ORIENTADA A OBJETOS EN VISUAL BASIC:

A.      Crear una Nueva Clase
Ø  Utilizamos el comando Agregar Clase del menú Proyecto.  
Ø  Ejemplo de una Clase denominada CuentaBanco


                    Public Class CuentaBanco
                    End Class

B.      Constructores
Ø Ejecutan código cuando el objeto está instanciado.

 Public Sub New ()
Valor = 1
 End Sub
Public Sub New (ByVal I As Integer)
 Valor = I
 End Sub


C.      Agregar Miembro de Datos
Ø Agregar, a la Clase anterior, un miembro de datos denominado: balance.


 Public Class CuentaBanco
Private balance As Double
End Class

D.      Agregar un Método
Ø Se debe agregar un método denominado Deposit a la Clase anterior.

Public Class CuentaBanco
           Private balance As Double
           Public Sub Deposit(ByVal amount As Double)
                       balance += amount
          End Sub
End Class


E.       Agregar una Propiedad
Ø  Se desea agregar una propiedad que permita obtener el nombre del usuario de la cuenta, o bien, asignar un nombre nuevo.

Public Class CuentaBanco
           Private usrNombre As String
           Public Property Name() As String
                       Get
                                   Return usrNombre
                      End Get
                      Set(ByVal Valor As String)
                                  UsrNombre = Valor
                      End Set
           End Property
End Class


F.       Crear una Instancia de la Clase
Ø En VB, después de generar la Clase, se regresa a la ventana de Módulo (Module) y, dentro de Main, se genera la instancia.

 Module Banco
             Sub Main()
                     Dim cuenta As New CuentaBanco()
                    cuenta.Deposit(500.00)
            End Sub
End Module


G.     Destructores
Ø Se emplean para eliminar recursos.
Ø Se invocan por el entorno de ejecución antes de destruir el objeto.
Ø Importante: es posible que la destrucción no se produzca de modo inmediato.

Protected Overrides Sub Finalize()
          conn.Close
End Sub


H.     Métodos Compartidos
Ø Se pueden utilizar sin declarar una instancia de una clase.
Ø Únicamente pueden acceder a datos compartidos.


 ‘ TestClase
Public Shared Function GetComputerName() As String
 …
End Function
 ‘ Código Cliente
MessageBox.Show(TestClass.GetComputerName())


I.        Espacios de Nombres
Ø Son un sistema organizativo.
Ø Proporcionan nombres cualificados para las clases.
Ø Para importar un espacio de nombres
ü  En el nivel de proyecto, agregar una referencia a la DLL que contiene  el espacio de nombres.
ü  Utilizar la palabra clave Imports.


 Namespace CompVB
              Public Class StringComponent
             ‘algo que hacer aquí
             End Class
 End Namespace



RESUMEN

La programación orientada a objetos es una “filosofía”, un modelo de programación, con su teoría y su metodología, que conviene conocer y estudiar antes de nada. Un lenguaje orientado a objetos es un lenguaje de programación que permite el diseño de aplicaciones orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a desarrollar aplicaciones orientadas a objetos aprenda primero la “filosofía” (o adquiera la forma de pensar) y después el lenguaje, porque “filosofía” sólo hay una y lenguajes muchos.




SUMMARY

Object-oriented programming is a "philosophy", a programming model, with its theory and methodology, which should know and consider before anything. An object-oriented language is a programming language that allows the design of object-oriented applications. Said, it is normal that everyone who will develop object-oriented applications learn first "philosophy" (or purchase the way of thinking) and then the language, because "philosophy" there is only one and languages many.



RECOMENDACIONES

ü  Elegir el entorno de Programación depende principalmente del tipo de aplicación a desarrollar.
ü  Si la aplicación involucra operaciones con  base de datos, interfaces web u otras tareas de negocio, la opción ideal es Visual Basic.
ü  Si tu aplicación demanda algoritmos rápidos y un diseño natural lógico, a la vez de un mantenimiento de una GUI de primera categoría, entonces el enfoque Visual Basic/COM debería ser aplicado.
ü  Si usted es el programador que quiere todo bajo control entonces el enfoque API es la elección.
ü  El programador debe darse cuenta que, sin embargo, todo se codifica a mano y puede llevarse más tiempo escribirla que una solución diseñada en el enfoque VB o VB/COM.



CONCLUCIONES


  ü  La programación orientada a objetos permite la optimización del código generado gracias a que mediante técnicas de herencia, atributos estáticos entre otros permiten, que el código sea genérico de manera que sea reutilizable.

  ü  Mediante la técnica aprendida en el presente curso podemos establecer una solución primitiva de un problema real, tan solo con relacionarlo con objetos lógicos que serán usados para el desarrollo del software.

  ü  Podemos dar a conocer de una forma sencilla los mecanismos que se usan en este nivel de programación, a personas que deseen una explicación rápida y sencilla de lo que es la programación orientada a objetos.

  ü  Tenemos los conocimientos necesarios como para enfrentar un problema real y desarrollo en otro lenguaje de programación, pues concebimos la idea de que el lenguaje de visual es la base de la programación.

  ü  Al trabajar con la programación orientada a objetos sea esta desarrollada en otras plataformas de programación o en lenguaje de visual, sabemos las formas de lograr un mejor rendimiento del equipo a controlar y aplicar soluciones sencillas, de manera que sea fácilmente digeribles para el usuario y/o destinatario del trabajo final.



APRECIACIÓN DEL EQUIPO


  ü  Los programas ganan en claridad a la hora de desarrollarlos y mantenerlos. 

  ü  Las aplicaciones orientadas a objetos son ideales para la realización de programas de gran tamaño. Las facilidades de encapsulación y asociación de las funciones a los datos que manipulan, simplifican el proceso de desarrollo.

  ü  En este aspecto, los lenguajes orientados a objetos muestran una clara desventaja frente a otros lenguajes que se acercan más a las especificaciones de la máquina. Si la rapidez es crítica, puede elegir un lenguaje de programación como VISUAL, que aporta toda la funcionalidad de los lenguajes orientados a objetos con la rapidez y la compatibilidad.

  ü  Las aplicaciones orientadas a objetos demandan normalmente más recursos del sistema que las aplicaciones procedurales.

  ü  El interface de usuario es uno de los aspectos más importantes en la programación actual. La aparición de sistemas de explotación que soportan un interface gráfico de usuario como Windows, X-Windows o Presentación Manager hace que la mayoría de los usuarios prefieran que sus programas corran bajo este tipo de interface.




GLOSARIO DE TERMINOS

  ü  POO: La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos.

  ü  CONCATENAR: Enlazar hechos o ideas que suceden en serie o cadena.

  ü  INSTANCIASION: una instancia de un programa es una copia de una versión ejecutable del programa que ha sido escrita en la memoria del computador.

  ü  ENCAPSULAMIENTO: Como un envoltorio protector alrededor del código y los datos que se manipulan. El envoltorio define el comportamiento y protege el código y los datos para evitar que otro código acceda a ellos de manera arbitraria.

  ü  CASTEO: es decir convierte datos, variables o expresiones a un nuevo tipo de dato

  ü  CONSTRUCTOR: El constructor de una clase es un método estándar para inicializar los objetos de esa clase. Es una función que se ejecuta siempre al crear un objeto.

  ü  SOBRECARGO: cuando se utiliza un operador para diferentes tareas.

  ü  STATIC: sirve para definir clases de las cuales queremos llamarlas sin crear objetos.

  ü  SUPER: Se refiere a las superclase de la clase actual.

  ü  Override: Significa que estas sobre escribiendo un método de la clase padre.



BILIOGRAFIAS O LINKOGRAFIAS

    
                          LINK DE DIAPOSITIVA:    https://es.slideshare.net/INGRIDLESLYCORONELAC/programacin-orientada-a-objetos-80270761


                                                                              VIDEOS






No hay comentarios:

Publicar un comentario