En programación orientada a objetos, una interfaz es un conjunto de métodos que define un conjunto de acciones que una clase debe implementar. En otras palabras, una interfaz define un contrato que una clase debe seguir si quiere ser considerada como una implementación de esa interfaz.
3. Introducción a interfaz en POO:
En programación orientada a objetos, una interfaz es un conjunto de
métodos que define un conjunto de acciones que una clase debe
implementar. En otras palabras, una interfaz define un contrato que una
clase debe seguir si quiere ser considerada como una implementación de
esa interfaz.
4. ¿Qué es una interfaz?:
Las interfaces permiten la creación de código más modular y flexible, ya
que permiten que diferentes clases implementen el mismo conjunto de
métodos de manera diferente según sus necesidades específicas, siempre
y cuando cumplan con el contrato definido por la interfaz.
Una interfaz es una vinculación entre dos entidades, lo que significa que la
interfaz proporciona servicios a una clase de consumidores. Por lo tanto
una interfaz solo nos muestra la declaración de los métodos que contiene,
no su implementación, lo que nos permite encapsularlo.
6. Utilidad de las interfaces:
Las interfaces son útiles para permitir la comunicación entre objetos de
diferentes clases de manera estandarizada, promoviendo así la
interoperabilidad y el reuso del código. Además, las interfaces facilitan la
implementación de patrones de diseño como el patrón de estrategia o el
patrón de observador.
7. Introducción a objetos en POO:
• En el desarrollo de software, el concepto de objeto es fundamental en la
programación orientada a objetos, un paradigma de programación que
se basa en la idea de modelar programas como "objetos" que tienen
atributos (datos) y métodos (funciones) asociados.
• Un objeto en programación orientada a objetos es una instancia de una
clase. Una clase es como un plano o un molde que define la estructura y
el comportamiento de los objetos que se crean a partir de ella. Los
objetos son entidades concretas que se crean en tiempo de ejecución y
pueden interactuar entre sí a través de mensajes.
8. Funcionalidad de los objetos en POO:
Los objetos encapsulan datos y comportamientos, lo que significa que los
datos (atributos) y los métodos que operan sobre esos datos están
contenidos dentro del objeto y son accesibles solo a través de la interfaz
pública del objeto. Esto se conoce como el principio de encapsulación.
Además, los objetos pueden comunicarse entre sí a través de mensajes, lo
que permite la interacción y la colaboración entre diferentes partes de un
sistema de software. Esta comunicación se basa en el principio de
intercambio de mensajes.
Los objetos también pueden heredar comportamientos y características de
otras clases a través de la herencia, lo que permite la reutilización de
código y la creación de jerarquías de clases.
9. Resumen de los objetos en POO:
En resumen, el concepto de objeto en software es fundamental para la
programación orientada a objetos, ya que permite la creación de
estructuras modulares, reutilizables y fácilmente mantenibles mediante la
encapsulación, la herencia y el polimorfismo.
11. Introducción a Metaclases:
Las metaclases en software son un concepto avanzado que se encuentra
principalmente en lenguajes de programación orientados a objetos, como
Python. Una metaclase es una clase cuyas instancias son clases. En otras
palabras, una metaclase es una clase de clases.
12. Metaclases:
En Python, por ejemplo, todas las clases son instancias de una metaclase.
Por defecto, en Python, la metaclase utilizada es la clase ‘type’, pero es
posible definir metaclases personalizadas para modificar el
comportamiento de la creación de clases y sus instancias.
Las metaclases pueden ser útiles en situaciones donde necesitas
personalizar el comportamiento de las clases, como agregar
funcionalidades adicionales, validar la estructura de la clase o realizar
acciones específicas cuando se crea una instancia de la clase.
13. Algunos casos de uso de las Metaclases:
• Validación de la estructura de la clase: Puedes utilizar una metaclase
para asegurarte de que las clases definidas por los desarrolladores sigan
ciertas convenciones o restricciones.
• Inyección automática de funcionalidades: Puedes utilizar una metaclase
para agregar automáticamente métodos o atributos a las clases definidas
por los desarrolladores.
• Registro automático de clases: Puedes utilizar una metaclase para
mantener un registro automático de todas las clases definidas en un
módulo o paquete.
• Implementación de patrones de diseño avanzados: Algunos patrones de
diseño, como el patrón Singleton, se pueden implementar más
fácilmente utilizando metaclases.
14. Algunos casos de uso de las Metaclases:
• Validación de la estructura de la clase: Puedes utilizar una metaclase
para asegurarte de que las clases definidas por los desarrolladores sigan
ciertas convenciones o restricciones.
• Inyección automática de funcionalidades: Puedes utilizar una metaclase
para agregar automáticamente métodos o atributos a las clases definidas
por los desarrolladores.
• Registro automático de clases: Puedes utilizar una metaclase para
mantener un registro automático de todas las clases definidas en un
módulo o paquete.
• Implementación de patrones de diseño avanzados: Algunos patrones de
diseño, como el patrón Singleton, se pueden implementar más
fácilmente utilizando metaclases.
15. Ejemplo de Metaclases en Python:
Un ejemplo simple en Python de cómo definir una metaclase sería el
siguiente:
En este ejemplo, ‘MiMetaclase’ es una metaclase que hereda de la clase
‘type’. Sobrescribimos el método ‘__new__’, que es llamado cuando se
crea una nueva clase. Dentro de este método, puedes realizar cualquier
modificación o validación necesaria en la clase antes de que se cree
realmente. Luego, ‘MiClase’ se define utilizando esta metaclase específica
mediante el parámetro ‘metaclass’.
16. JavaScript no es la web :
Si Javascript está diseñado para ser usado en conjunción con HTML, el
lenguaje ha evolucionado desde entonces hacia otros destinos. Javascript
es regularmente utilizado para hacer extensiones para diferentes
programas, como los scripts codificados en Lua o Python.
JavaScript también se puede utilizar para construir aplicaciones. Mozilla
Firefox es el ejemplo más famoso: la interfaz del navegador se crea con
una especie de HTML llamado XUL y JavaScript que se utiliza para animar
la interfaz. Otros programas también están basados en esta tecnología,
como por ejemplo de TomTom HOME que se utiliza para administrar tu
navegador GPS TomTom a través de tu PC.
17. Cuadro de dialogo en HTML:
Hola Mundo! No se deroga la regla tradicional de que todos los tutoriales
de programación comenzarán mostrando el texto "Hello World!", ("¡Hola
Mundo!" en español) al usuario. A continuación se muestra un programa
HTML simple que contiene la instrucción Javascript, situada dentro de un
elemento <script>:
Código: HTML - Hola Mundo!
18. Cuadro de dialogo en HTML :
Apareciendo al ejecutarlo la siguiente caja de diálogo:
19. Sangría y representación JavaScript:
La sangría en la programación informática, es una manera de estructurar el
código para hacerlo más legible. Las instrucciones son priorizadas en varios
niveles y espacios de usos o lengüetas para desplazar a la derecha y crear
una jerarquía. Un ejemplo de código sangrado:
Código: JavaScript
20. Sangría y representación JavaScript:
La presentación de los códigos también es importante, es como si
estuvieras escribiendo una carta: no hay reglas predefinidas para escribir
cartas, por lo que tendrás que hacer arreglos para organizar tu código para
mostrarlo claro. En el código sangrado mostrado anteriormente, se puede
ver que hay espacios para “airear” todo el código y sólo hay una
declaración por línea (salvo if else, pero ya llegaremos a eso más adelante).
Algunos desarrolladores escriben su código como este:
Código: JavaScript
21. Comentarios JavaScript:
Los comentarios son anotaciones realizadas por el desarrollador para
explicar el funcionamiento de un script, una instrucción o incluso un grupo
de instrucciones. Los comentarios no interfieren con la ejecución de un
script.
Hay dos tipos de comentarios: los de fin de línea y los multilínea.
Comentarios de fin de línea. Se utilizan para comentar una instrucción.
Comienza con dos barras de división:
Código: JavaScript
22. Comentarios JavaScript:
El texto colocado en un comentario se ignora cuando se ejecuta un script,
lo que significa que puedes poner un comentario, incluso en una
instrucción (que, obviamente, no se ejecutará):
Código: JavaScript
23. Comentarios JavaScript:
Comentarios multilínea. Este tipo permite saltos de línea. Un comentario
multilínea comienza con / * y termina con * /:
Código: JavaScript
Ten en cuenta que un comentario de varias líneas se pueden mostrar en
una sola línea:
Código: JavaScript
24. Funciones JavaScript:
En el ejemplo de ¡Hola mundo!, Se utilizó la función alert (). Discutiremos
en detalle la funciones de trabajo, en los capítulos siguientes, necesitarás
saber el resumen de la sintaxis.
Una función consiste en dos partes: su nombre, seguido por un par de
paréntesis (una apertura y un cierre):
Código: JavaScript
Entre paréntesis se indican los argumentos que también se llaman
parámetros. Estos contienen los valores que se pasan a la función. En el
caso de ¡Hola mundo!, Son las palabras "¡Hola, mundo! " lo que se
transfieren como parámetros:
Código: JavaScript
25. Actividad:
• Explicar el principio de intercambio de mensajes entre objetos.
• Investigar el patrón Singleton y como se representa.
• Investigar ECMAScript.
• Realizar un contador en JavaScript que cuando termine de hacer el
conteo muestre un texto, el texto debe indicar la historia de JavaScript,
se evaluara un documento explicando la aplicación, sustentación de la
funcionalidad de la aplicación y explicación del código.
Adjunto enlace de tutorial, se recomienda realizar cambios en los estilos
CSS de la actividad.
https://youtu.be/UMpqdZKJV7M
La actividad se realiza en un documento PDF con sus respectivas normas
APA, realizando explicación del código.
26. • Curso: Introducción a la Programación Orientada a Objetos (Gratis).
(n.d.). EDteam - En Español Nadie Te Explica Mejor.
https://ed.team/cursos/poo
Referentes: