DESARROLLO DE CONTENIDOS

DESARROLLO DE CONTENIDOS

UNIDAD I – INTRODUCCIÓN A LA POO

ASIGNATURA: PROGRAMACIÓN III 


CONTENIDO UNO Y DOS:

ANTECEDENTES E INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS. DEFINICIÓN DE OBJETO.

LOS PILARES DE LA POO: ABSTRACCIÓN, ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO.






OBJETIVO GENERAL:

Conocer la base teórica para la adquisición de conocimientos sobre la Programación Orientada a Objeto para su posterior uso.

 

INTRODUCCIÓN:

Al utilizar la Programación Orientada a Objeto, el estudiante será capaz de identificar los lenguajes de programación más convenientes a utilizar para el desarrollo de programas o llevar a cabo una tarea, al momento de desarrollar un programa el estudiante identifica e interpreta la programación basándose en el mundo real, y transportándolo al mundo virtual, tomando representaciones de objetos reales tales como características o propiedades para hacerlos interactuar con el ordenador tal como se haría realmente. Es indispensable que toda persona que vaya a desarrollar aplicaciones orientadas a objetos aprenda primero la fundamentación y después el lenguaje de programación; ya que existen diferentes lenguajes que permiten su implementación y contienen sintaxis particulares.


CONCEPTO:

La programación orientada a objetos, intenta simular el mundo real a través del significado de objetos que contiene características y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generación. Como su mismo nombre indica, la programación orientada a objetos se basa en la idea de un objeto, que es una combinación de variables locales y procedimientos llamados métodos que juntos conforman una entidad de programación.







CARACTERÍSTICAS

Todos los lenguajes de programación orientados a objetos proporcionan mecanismos que ayudan a implementar el modelo orientado a objetos. Estas características o propiedades fundamentales son:

ABSTRACCIÓN

Es el proceso de capturar los detalles fundamentales de un objeto mientras se suprimen o ignoran detalles. La abstracción proporciona un mecanismo crucial para permitir que las personas comprendan, se comuniquen y razonen sistemas complejos.

 

ENCAPSULAMIENTO.

Es el proceso de ocultar todos los detalles de un objeto que no contribuyen a sus características esenciales. La ventaja principal del encapsulamiento es que proporciona al programador libertad en la implementación de los detalles del sistema. La única restricción que tendrá el programador es mantener la interfaz abstracta que vean los usuarios externos.

POLIMORFISMO.

Es la propiedad que permite enviar el mismo mensaje a objetos de diferentes clases, de forma que cada uno de ellos responde a ese mismo mensaje de modo distinto dependiendo de su implementación.

El polimorfismo como sobrecarga en Java ocurre cuando una clase T tiene múltiples métodos con el mismo nombre, cada uno de ellos con una signatura (combinación de su nombre y el tipo y número de argumentos que pasan por los métodos) diferente.

 

HERENCIA.

Es el proceso mediante el cual un objeto adquiere las propiedades de otro objeto



COMO SE PIENSA EN OBJETO

Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo, vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar.

Pues en un esquema POO "el coche" sería lo que se conoce como "Clase". Sus características, como el color o el modelo, serían propiedades y las funcionalidades asociadas, como ponerse en marcha o parar, serían métodos.

La clase es como un libro, que describe como son todos los objetos de un mismo tipo. La clase coche describe cómo son todos sus coches, qué propiedades tienen y qué funcionalidades deben poder realizar. A partir de una clase podemos crear cualquier número de objetos de esa clase. Un coche rojo que es de la marca Ford y modelo Fiesta, otro verde que es de la marca Seat y modelo Ibiza.

ACTIVIDAD DE EVALUACION:

FORO ACADÉMICO-UTILIZANDO HERRAMIENTA PADLET

https://padlet.com/pp0929032020/3uzeek7zsv0w4s78

 

RESUMEN DE CIERRE:

Es muy importante la utilización de la Programación Orientada a Objeto, ya que no solo se trata que el estudiante conozca la base teórica, sino que el educando sea capaz de relacionar toda la teoría con todas aquellas actividades que estimulen sus habilidades y por lo tanto desarrollen competencias en al ámbito de la programación.

VIDEO INFORMATIVO SOBRE LA POO:

https://www.youtube.com/watch?v=r0KjrzbSRec


REFERENCIAS BIBLIOGRÁFICAS:

HTTPS://ES.SLIDESHARE.NET/BORISSALLEG/INTRODUCCION-A-LA-POO

HTTPS://DESARROLLOWEB.COM/ARTICULOS/499.PHP


___________________________________________________________________________________


CONTENIDO TRES:

DEFINICIÓN Y ABSTRACCIÓN DE UN OBJETO Y CLASE. (INSTANCIACIÓN



OBJETIVO GENERAL:

Identificar la diversidad de utilizar un objeto en la POO, mediante simuladores en la vida real.

 

INTRODUCCIÓN:

Hablar de objetos en programación, es aludir a simular programar las características de un objeto de la vida real, con ello el estudiante será capaz de diferencias las características de un objeto y clase y; a raíz de eso, detallar de forma sistematizada toda la relación que emana la utilización de este; y ser plasmado en la jerarquización de lo que se pretende crear.

 

CONCEPTO:

Es una entidad (tangible o intangible) que posee características y acciones que realiza por sí solo o interactuando con otros objetos. Un objeto es una entidad caracterizada por sus atributos propios y cuyo comportamiento está determinado por las acciones o funciones que pueden modificarlo, así como también las acciones que requiere de otros objetos. Un objeto tiene identidad e inteligencia y constituye una unidad que oculta tanto datos como la descripción de su manipulación. Puede ser definido como una encapsulación y una abstracción: una encapsulación de atributos y servicios, y una abstracción del mundo real. Para el contexto del Enfoque Orientado a Objetos (EOO) un objeto es una entidad que encapsula datos (atributos) y acciones o funciones que los manejan (métodos). Un objeto se define como una instancia o particularización de una clase. Los objetos de interés durante el desarrollo de software no sólo son tomados de la vida real (objetos visibles o tangibles), también pueden ser abstractos. En general son entidades que juegan un rol bien definido en el dominio del problema. Un libro, una persona, un carro, entre otros.

Los servicios ofrecidos por los objetos son de dos tipos:

1.- Los datos, que llamamos atributos.

2.- Las acciones o funciones, que llamamos métodos.


Características Generales:

Un objeto se identifica por un nombre o un identificador único que lo diferencia de los demás. Ejemplo: el objeto Cuenta de Ahorros número 12345 es diferente al objeto Cuenta de Ahorros número 25789. En este caso el identificador que los hace únicos es el número de la cuenta.

Un objeto posee estados. El estado de un objeto está determinado por los valores que poseen sus atributos en un momento dado.

Un objeto tiene un conjunto de métodos. El comportamiento general de los objetos dentro de un sistema se describe o representa mediante sus operaciones o métodos. Los métodos se utilizarán para obtener o cambiar el estado de los objetos, así como para proporcionar un medio de comunicación entre objetos.

Un objeto tiene un conjunto de atributos. Los atributos de un objeto contienen valores que determinan el estado del objeto durante su tiempo de vida. Se implementan con variables, constantes y estructuras de datos (similares a los campos de un registro).

 

CLASE:

La clase es la unidad de modularidad en el EOO. La tendencia natural del individuo es la de clasificar los objetos según sus características comunes (clase). Por ejemplo, las personas que asisten a la universidad se pueden clasificar (haciendo abstracción) en estudiante, docente, empleado e investigador. La clase puede definirse como la agrupación o colección de objetos que comparten una estructura común y un comportamiento común. Es una plantilla que contiene la descripción general de una colección de objetos. Consta de atributos y métodos que resumen las características y el comportamiento comunes de un conjunto de objetos. Todo objeto (también llamado instancia de una clase), pertenece a alguna clase. Mientras un objeto es una entidad concreta que existe en el tiempo y en el espacio, una clase representa solo una abstracción. Todos aquellos objetos que pertenecen a la misma clase son descritos o comparten el mismo conjunto de atributos y métodos. Todos los objetos de una clase tienen el mismo formato y comportamiento, son diferentes únicamente en los valores que contienen sus atributos. Todos ellos responden a los mismos mensajes.

CARACTERÍSTICAS GENERALES:

Una clase es un nivel de abstracción alto. La clase permite describir un conjunto de características comunes para los objetos que representa. Ejemplo: La clase Avión se puede utilizar para definir los atributos (tipo de avión, distancia, altura, velocidad de crucero, capacidad, país de origen, etc.) y los métodos (calcular posición en el vuelo, calcular velocidad de vuelo, estimar tiempo de llegada, despegar, aterrizar, volar, etc.) de los objetos particulares Avión que representa.  Un objeto es una instancia de una clase. Cada objeto concreto dentro de un sistema es miembro de una clase específica y tiene el conjunto de atributos y métodos especificados en la misma.

Las clases se relacionan entre sí mediante una jerarquía. Entre las clases se establecen diferentes tipos de relaciones de herencia, en las cuales la clase hija (subclase) hereda los atributos y métodos de la clase padre (superclase), además de incorporar sus propios atributos y métodos. Ejemplos, Superclase: Clase Avión Subclases de Avión: Clase Avión Comercial, Avión de Combate, Avión de Transporte. Los nombres o identificadores de las clases deben colocarse en singular (clase Animal, clase Carro, clase Alumno).



RELACIÓN ENTRE CLASE Y OBJETO:

 Algorítmicamente, las clases son descripciones netamente estáticas o plantillas que describen objetos. Su rol es definir nuevos tipos conformados por atributos y operaciones. Por el contrario, los objetos son instancias particulares de una clase. Las clases son una especie de molde de fábrica, en base al cual son construidos los objetos. Durante la ejecución de un programa sólo existen los objetos, no las clases. La declaración de una variable de una clase NO crea el objeto.

La asociación siguiente: (por ejemplo, Rectángulo R), no genera o no crea automáticamente un objeto Rectángulo. Sólo indica que R será una referencia o una variable de objeto de la clase Rectángulo. La creación de un objeto, debe ser indicada explícitamente por el programador, de forma análoga a como inicializamos las variables con un valor dado, sólo que para los objetos se hace a través de un método Constructor.

ACTIVIDAD DE EVALUACION:

Realizar una presentación en Prezi, sobre los conceptos de programación (Objeto, Clase) y citar un ejemplo de un Objeto de la vida real con sus respectivos aspectos: Atributos, Encapsulamiento y Funciones.

RESUMEN DE CIERRE:

Al finalizar el contenido, el estudiante relaciona todos los aspectos de un objeto real, se le facilitará la comprensión y funcionalidad de los aspectos que conlleva la programación; basándose en objetos reales para su interpretación y aplicación al momento de trabajar con un caso o ejemplo real.

VIDEO INFORMATIVO SOBRE ABSTRACCIÓN DE OBJETO Y CLASE:

https://www.kikopalomares.com/blog/que-es-un-objeto-en-programacion

REFERENCIAS BIBLIOGRÁFICAS:

http://mmc.geofisica.unam.mx/femp/Herramientas/Lenguajes/Java/POO-Java/POO_2.pdf

https://informaticapc.com/poo/#clases

https://www.fdi.ucm.es/profesor/jpavon/poo/1.1.Objetos%20y%20Clases.pdf



___________________________________________________________________________________


CONTENIDO CUATRO:

CONSTRUCTORES Y DESTRUCTORES DE CLASES


OBJETIVO GENERAL:

Identificar lenguajes de programación al momento de utilizar constructores y destructores para la realización de secuencias lógicas de un programa.

 

INTRODUCCIÓN:

Con la conceptualización de constructores y destructores de clase, el estudiante puede crear algoritmos basados en procedimientos que generan valor o especificar una cantidad de parámetros relacionados con la actividad a desarrollar, en este caso permite diseñar la secuencia lógica de un programa basado ya en lenguaje de programación.

 

CONCEPTO:

Un constructor es un método especial de una clase, este método es llamado automáticamente al crear un objeto de esa clase. La función del constructor es iniciar el objeto.

Un destructor es un método opuesto a un constructor, este método en lugar de crear un objeto lo destruye liberando la memoria de nuestra computadora para que pueda ser utilizada por alguna otra variable u objeto.

En java no existen los destructores, esto es gracias al recolector de basura de la máquina virtual de java. Como su nombre lo dice, el recolector de basura recolecta todas las variables u objetos que no se estén utilizando y que no haya ninguna referencia a ellos por una clase en ejecución, liberando así automáticamente la memoria de nuestra computadora.

Aunque Java maneja de manera automática el recolector de basura, el usuario también puede decir en qué momento Java pase el recolector de basura con la instrucción.

 

TIPOS DE CONSTRUCTORES:

1.- Constructor por defecto.

2.- Constructor de copia.

3.- Constructor común (Con argumentos)


Las clases pueden implementar un método especial llamado constructor. Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma se evita el tener que iniciar las variables explícitamente para su iniciación. El constructor tiene exactamente el mismo nombre de la clase que lo implementa; no puede haber ningún otro método que comparta su nombre con el de su clase. Una vez definido, se llamará automáticamente al constructor al crear un objeto de esa clase.



Destrucción de los objetos: Cuando un objeto no va a ser utilizado, el espacio de memoria dinámica que utiliza ha de ser liberado, así como los recursos que poseía, permitiendo al programa disponer de todos los recursos posibles. A esta acción se la da el nombre de destrucción del objeto. En Java la destrucción se puede realizar de forma automática o de forma personalizada, en función de las características del objeto. La destrucción por defecto: Recogida de basura El intérprete de Java posee un sistema de recogida de basura, que por lo general permite que no nos preocupemos de liberar la memoria asignada explícitamente. El recolector de basura será el encargado de liberar una zona de memoria dinámica que había sido reservada mediante el operador new, cuando el objeto ya no va a ser utilizado más durante el programa (por ejemplo, sale del ámbito de utilización, o no es referenciado nuevamente). El sistema de recogida de basura se ejecuta periódicamente, buscando objetos que ya no estén referenciados.

 

ACTIVIDAD DE EVALUACIÓN:

Los y las estudiantes enriquecerán la teoría con la practica sobre constructores y destructores, por medio del presentador multimedia (PowerPoint) realizarán un interfaz o “menú principal”, utilizando botones de acción respecto al contenido abordado.

 

RESUMEN DE CIERRE:

Se destaca que con la teoría y por ende la práctica; sobre el uso de constructores y destructores aplicados en la programación orientada a objetos, el estudiante relaciona la información y aplica la teoría para la construcción de pequeños interfaces de programas con la finalidad de ir creando botones con entradas simples, dando pauta a la motivación y creación de códigos para su posterior aplicación y dar vida a los botones creados.

 

VIDEO INFORMATIVO SOBRE CONSTRUCTORES Y DESTRUCTORES

https://www.youtube.com/watch?v=MUwncBKxNaM

 

REFERENCIAS BIBLIOGRÁFICAS:

https://tutospoo.jimdofree.com/tutoriales-java/clases-y-objetos/constructores-y-destructores/

http://www.udla.edu.co/documentos/docs/Programas%20Academicos/Tecnologia%20en%20Informatica%20y%20sistemas/Compilados/Compilado%20Programacion%20II.pdf


___________________________________________________________________________________


CONTENIDO CINCO:

MIEMBROS DE LA CLASE: CAMPOS, MÉTODOS Y PROPIEDAD (READONLY, WRITEONLY, VIRTUAL): GET Y SET.




OBJETIVO GENERAL:

Identificar la diferencia de los métodos GET Y SET, para su posterior aplicación en el desarrollo de programas, permitiendo la validación de los datos.

 

INTRODUCCIÓN:


Con el uso de Get y Set, el estudiante es capaz de identificar de manera sencilla la diferencia de ambos conceptos, así como también captar de manera oportuna en qué momento hará uso de tales métodos al desarrollar un programa en específico, permitiendo así; la asociación de referidas propiedades de las POO para relacionar el tipo de variable que está generando.


CONCEPTO:

READONLY: es un atributo que cuando está presente, especifica que un campo de entrada es de sólo lectura. Un campo de sólo lectura de entrada no puede ser modificado.

WRITEONLY: Es una aplicación especial diseñada para personas que solo quieren concentrarse en escribir. Al separar la escritura de la edición, le ayuda a concentrarse más en sacar sus ideas. Usarlo es como sentarse frente a una máquina de escribir y ver cómo las palabras fluyen de la punta de los dedos.



CUANDO USAR WRITEONLY

A veces, desea que el código de consumo pueda establecer un valor, pero no detectar lo que es. Por ejemplo, los datos confidenciales, como un número de registro social o una contraseña, deben protegerse contra el acceso de cualquier componente que no lo haya configurado. En estos casos, puede usar una WriteOnly propiedad para establecer el valor.

 

VIRTUAL: Las funciones virtuales permiten que clases derivadas de una misma base (clases hermanas) puedan tener diferentes versiones de un método. Se utiliza la palabra-clave virtual para avisar al compilador que un método será polimórfico y que en las clases derivadas existen distintas definiciones del mismo.

Los métodos GET Y SET, son simples métodos que usamos en las clases para mostrar (GET) o modificar (SET) el valor de un atributo. El nombre del método siempre sera get o set y a continuación el nombre del atributo, su modificador siempre es público ya que queremos mostrar o modificar desde fuera la clase. Por ejemplo, getNombre o setNombre.

 

ACTIVIDAD DE EVALUACIÓN:

Se evaluará el uso de los métodos GET Y SET mediante un bloc de notas, donde el estudiante debe crear una secuencia lógica de un código de un pequeño programa haciendo uso de los métodos apropiados para tal fin. Así como también utilizando los atributos de READONLY y WRITEONLY.

 

RESUMEN DE CIERRE:

Con la aplicabilidad de los métodos y a tributos de la POO, el estudiante relaciona la información y usa la teoría para la construcción de pequeños interfaces de programas, desarrollando así la capacidad de análisis y creatividad al momento de establecer cada método y atributo para lograr el fin determinado siendo este saber aplicar cada uno de ellos para la construcción de códigos de programas.

 

 

VIDEO INFORMATIVO SOBRE GET Y SET

https://www.youtube.com/watch?v=6xoo1Ya_uQ0

 

REFERENCIAS BIBLIOGRÁFICAS:

https://es.slideshare.net/RaulHernandez191/manual-poounidadvisualbasic#:~:text=La%20palabra%20clave%20ReadOnly%20se,pueda%20leer%20pero%20no%20modificar.

 

https://www.ecured.cu/Funciones_virtuales






HERENCIA





3 comentarios:

  1. Excelente trabajo Lic. Jaime felicidades excelente información. Bendiciones.

    ResponderEliminar
  2. Estimado, Licdo. Jaime Palma. Me encantaría tener todos sus conocimientos en informática, pero quizá a eso es el resultado de 5 años en la Universidad Monseñor Oscar Arnulfo Romero y otros estudios realizados. Excelente trabajo, sin duda sus estudiantes de Maestría a futuro tendrán la suerte de contar con un maestro muy dedicado.

    ResponderEliminar
  3. Interesante la temática que se aborda en el desarrollo de la Unidad I, ya que sabemos la vital importancia de la programación en nuestros tiempos. Excelente material Lic. Palma. Saludos

    ResponderEliminar