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)
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/
___________________________________________________________________________________
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://www.ecured.cu/Funciones_virtuales
HERENCIA
Excelente trabajo Lic. Jaime felicidades excelente información. Bendiciones.
ResponderEliminarEstimado, 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.
ResponderEliminarInteresante 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