SlideShare una empresa de Scribd logo
1 de 27
Programación de computadores 2
Ingeniería de Software
2024
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.
¿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.
¿Qué es una interfaz?:
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.
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.
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.
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.
Resumen de los objetos en POO:
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.
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.
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.
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.
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’.
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.
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!
Cuadro de dialogo en HTML :
Apareciendo al ejecutarlo la siguiente caja de diálogo:
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
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
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
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
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
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
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.
• 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:
_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx

Más contenido relacionado

Similar a _Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx

Tutoriales de c
Tutoriales de cTutoriales de c
Tutoriales de celidetjc
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo2008PA2Info3
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañanaale abad aguilar
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado2008PA2Info3
 
Programación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinezProgramación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinezErnesto Miranda
 
Programacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe TocoraProgramacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe TocoraFelipe Ardila
 

Similar a _Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx (20)

manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Pdf glo
Pdf gloPdf glo
Pdf glo
 
Bbbbbbbbbbbbbb
BbbbbbbbbbbbbbBbbbbbbbbbbbbb
Bbbbbbbbbbbbbb
 
Tutoriales de c
Tutoriales de cTutoriales de c
Tutoriales de c
 
Tutoriales de c#
Tutoriales de c#Tutoriales de c#
Tutoriales de c#
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
EL UML X2
EL UML X2EL UML X2
EL UML X2
 
INFOGRAFIA.pdf
INFOGRAFIA.pdfINFOGRAFIA.pdf
INFOGRAFIA.pdf
 
Glosario
GlosarioGlosario
Glosario
 
Patrones de diseño - Henry Vallejo
Patrones de diseño - Henry VallejoPatrones de diseño - Henry Vallejo
Patrones de diseño - Henry Vallejo
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Patrones de-diseño-mañana
Patrones de-diseño-mañanaPatrones de-diseño-mañana
Patrones de-diseño-mañana
 
Patrones de diseño - Andrés Dorado
Patrones de diseño - Andrés DoradoPatrones de diseño - Andrés Dorado
Patrones de diseño - Andrés Dorado
 
Programación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinezProgramación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinez
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Apendice general 4
Apendice general 4Apendice general 4
Apendice general 4
 
Programacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe TocoraProgramacion orientada a objetos de Felipe Tocora
Programacion orientada a objetos de Felipe Tocora
 

_Concepto de interfaz_interfaz_interfaz_interfaz_interfaz_.pptx

  • 1.
  • 2. Programación de computadores 2 Ingeniería de Software 2024
  • 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.
  • 5. ¿Qué es una interfaz?:
  • 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.
  • 10. Resumen de los objetos en POO:
  • 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: