viernes, 15 de septiembre de 2017

PROGRAMACIÓN ORIENTADA A OBJETOS


         
             “Año del Buen Servicio al Ciudadano”

Tema: Programación Orientada A Objetos.

Docente: Marco Aurelio Porro Chulli.

Asignatura: Laboratorio de Programación III.

Carrera:  Ingeniería de Sistemas y Telemática.

Ciclo: VII – “B”

Integrantes:
·               Rafael Estela Sandrita.
·               Soto Horna Karen Juneth
Año:
2017



1. CONTENIDO
  • DEFINICIÓN
La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos en sus interacciones, para diseñar aplicaciones y programas informáticos.
Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
Muchos de los objetos pre-diseñados de los lenguajes de programaciónactuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.
La POO representa una metodología de programación que se basa en las siguientes
características: 

*Los diseñadores definen nuevas clases (o tipos) de objetos.
*Los objetos poseen una serie de operaciones asociadas a ellos.
*Las operaciones tienden a ser genéricas, es decir, operan sobre múltiples tipos de datos.
*Las clases o tipos de objetos comparten componentes comunes mediante mecanismos de herencia.

  • CONCEPTOS BÁSICOS (Objeto, clase, método, herencia, sobrecarga, evento, atributos, mensaje, etc.)

A.   Objeto
Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase.
B.   Clase
definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.
C.   Método
algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
D.   Herencia
(por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables publicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.
E.   Sobrecarga
                         Sobrecarga es la capacidad de un lenguaje de programación, que permite nombrar con el mismo identificador diferentes variables u operaciones. En programación orientada a objetos la sobrecarga se refiere a la posibilidad de tener dos o más funciones con el mismo nombre, pero funcionalidad diferente.

F.    Evento
es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.
G.   Atributo
características que tiene la clase.
H.   Mensaje
una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
I.     Propiedad o Atributo
contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
J.    Estado interno:
Es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.
K.   Componentes de un objeto
atributos, identidad, relaciones y métodos.
L.    Identificación de un objeto:
un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable" no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.


  • CARACTERÍSTICAS (Abstracción, Encapsulamiento, Herencia,
Polimorfismo, Modularidad, etc.)
a)    Abstracción
La abstracción a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás (la abstracción genera la ilusión de simplicidad). Además de distinguir entre los objetos provee límites conceptuales. Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto. Si un objeto tiene más características de las necesarias los mismos resultarán difíciles de usar, modificar, construir y comprender.
Por ejemplo, en Java tenemos:
public class Automovil {
// variables
// métodos
}
b)   Encapsulamiento
significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema.
c)    Principio de ocultación
ocultamiento del estado del objeto, es decir, de los datos que pertenecen a un objeto de manera que sólo se pueda cambiar mediante los métodos (u operaciones) definidas para ese objeto. Lo único visible de un objeto para el resto es su interfaz, es decir, los métodos que pueden utilizarse. 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.
d)   Modularidad:
propiedad que permite dividir una aplicación en partes (módulos) más pequeños. Cada módulo debe intentar ser lo más independiente posible de la aplicación.
e)    Herencia
Las clases se relacionan entre sí y permiten formar una jerarquía de clasificación. Los objetos heredan propiedades y métodos (comportamientos) de 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.

f)     Polimorfismo
el polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.
g)    RECOLECCIÓN DE BASURA
Es la técnica por la cual el ambiente de objetos se encarga de destruir y asignar automáticamente la memoria.

  • POO EN VISUAL BASIC NET.
 Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a objetos que se puede considerar una evolución de Visual Basic implementada sobre el framework .NET.
Su introducción resultó muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es retro compatible con Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores de Visual Basic, facilitando así el desarrollo de aplicaciones más avanzadas con herramientas modernas. Para mantener eficacia en el desarrollo de las aplicaciones. La gran mayoría de programadores de VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual Studio en alguna de sus versiones (desde el primer Visual Studio .NET hasta Visual Studio .NET 2015, que es la última versión de Visual Studio para la plataforma .NET), aunque existen otras alternativas, como SharpDevelop (que además es libre).
Al igual que con todos los lenguajes de programación basados en .NET, los programas escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse.
La POO es una evolución de la programación por procedimientos llamada también estructurada. Se basaba en funciones y procedimientos y el código que controlaba el flujo de las llamadas a estos. Visual Basic .NET (VB.NET) Todo .NET Framework está basado en clases (u objetos). A diferencia de las versiones anteriores de Visual Basic, la versión .NET de este lenguaje basa su funcionamiento casi exclusivamente en las clases contenidas en .NET Framework, además casi sin ningún tipo de limitación.

LOS TRES PILARES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
Todos los lenguajes basados en objetos, deben cumplir estos tres requisitos:
Nota: Algunos autores añaden un cuarto requisito: la abstracción, pero este último está estrechamente ligado con la encapsulación.
 
                          HERENCIA:

"La herencia es la capacidad de una clase de obtener la interfaz y comportamiento de una clase existente."
Resumiendo: Gracias a la herencia podemos ampliar cualquier clase existente, además de aprovecharnos de todo lo que esa clase haga.

"La herencia es la capacidad de una clase de obtener la interfaz y comportamiento de una clase existente."
Resumiendo: Gracias a la herencia podemos ampliar cualquier clase existente, además de aprovecharnos de todo lo que esa clase haga.
 
 
 ENCAPSULACIÓN: Según Visual Studio.NET:
La encapsulación es esa capacidad de la clase de ocultarnos sus interioridades para que sólo veamos lo que tenemos que ver, sin tener que preocuparnos de cómo está codificada para que haga lo que hace.simplemente nos debe importar que lo hace.

    POLIMORFISMO: Según la documentación de Visual Studio.NET:
   "El polimorfismo se refiere a la posibilidad de definir múltiples clases con funcionalidad diferente, pero con métodos o propiedades denominados de forma idéntica, que pueden utilizarse de manera intercambiable mediante código cliente en tiempo de ejecución."

     ¿Qué es una clase?
     
Los programas de Visual Basic se generan con objetos como formularios y controles. Los objetos también se pueden utilizar para representar cosas reales como personas, equipos informáticos o incluso algo más abstracto, como una cuenta bancaria.
Una clase es simplemente una representación de un tipo de objeto. Pensado en ella como un plano que describe el objeto. Así como un plano puede utilizarse para construir varios edificios, una clase podemos usarla para crear varias copias de un objeto.


2. RESUMEN

       
La programación orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución. Surge en los años 70.
Un objeto es una abstracción de algún hecho o ente del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan.
Todas las propiedades y métodos comunes a los objetos se encapsulan o se agrupan en clases. Una clase es una plantilla o un prototipo para crear objetos; por eso se dice que los objetos son instancias de clases.
La POO en visual Basic net es un lenguaje de programación orientado a objetos que se puede considerar una evolución de Visual Basic implementada sobre el framework .NET. facilitando así el desarrollo de aplicaciones más avanzadas con herramientas modernas. Para mantener eficacia en el desarrollo de las aplicaciones, NET Framework en la cual está basado en clases (u objetos).

33. SUMMARY
Object-oriented programming is a paradigm that uses objects as fundamental elements in the construction of the solution. It appears in the 70s.
An object is an abstraction of some fact or entity of the real world that has attributes that represent its characteristics or properties and methods that represent its behavior or actions that perform.
All properties and methods common to objects are encapsulated or grouped into classes. A class is a template or a prototype for creating objects; This is why objects are said to be instances of classes.
Visual OOP Visual Basic is an object-oriented programming language that can be considered an evolution of Visual Basic implemented on the .NET framework. thus facilitating the development of more advanced applications with modern tools. To maintain efficiency in the application development, NET Framework in which it is based on classes (or objects).

44. 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.

45. CONCLUSIONES
  • 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 las técnicas aprendidas 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.
  • 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.

56.  APRECIACIÓN DEL EQUIPO
  • La programación orientada a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no intuitivas. Donde aprenderemos a analizar los requisitos empresariales, a modelar los objetos y las relaciones involucradas en el diseño de la solución, a implementar la solución utilizando Visual Basic .NET. 
  • 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, etc.

67. GLOSARIO DE TÉRMINOS
·         Interacciones: La interacción es una acción recíproca entre dos o más objetos, sustancias, personas o agentes.
·         Genéricas: Que es común a todos los elementos de un mismo conjunto o género.
·         Imperativo: son un conjunto de instrucciones que le indican al computador cómo realizar una tarea, de la misma manera que el modo imperativo en los lenguajes naturales humanos le dice qué hacer al interlocutor.
·         NET Framework: Es el modelo de programación global y coherente de Microsoft para crear aplicaciones que tengan experiencias de usuario visualmente impresionantes, comunicación segura y sin problemas y la capacidad de modelar diversos procesos de negocios.

·         Instancia: es la particularización, realización específica u ocurrencia de una determinada clase, entidad (modelo entidad-relación) o prototipo.

·         SharpDevelop: es un entorno de programación integrado que permite programar en C# y en VB.NET.Este es un entorno publicado bajo licencia LGPL, lo que implica que es libre y que disponemos del código fuente.

·         MonoDevelop: es una implementación de SharpDevelop para programar usando Mono, una implementación libre de .NET que funciona en distintos sistemas operativos.


78. BIBLIOGRAFÍA O LINKOGRAFÍA
  •  http://www.cristalab.com/tutoriales/programacion-orientada-a-objetos-en-visual-basic-.net-c273l/( poo en visual basic net.)
  • https://es.wikipedia.org/wiki/Sobrecarga_(inform%C3%A1tica)
  •  https://es.wikibooks.org/wiki/Programaci%C3%B3n_Orientada_a_Objetos/Conceptos_Fundamentales
  •  https://www.youtube.com/watch?v=zt29PaBvyTw






   
 

No hay comentarios:

Publicar un comentario