Want to make creations as awesome as this one?

Transcript

INICIAR

Lic. Ingeniería en Sistemas y Tecnologías de la InformaciónSesión 7

Fundamentos de programación

Fundamentos de programación. SESIÓN 7

Bienvenidos a la sesión 7 de nuestra materia Fundamentos de programación.

Para comprender con más detalle los conceptos generales de (FUNDAMENTOS DE PROGRAMACIÓN) es necesario revisar los siguientes temas:7. Programación orientada a objetos 7.1 Conceptos básicos de POO: clases, objetos, atributos, métodos7.2 Encapsulamiento, herencia y polimorfismo7.3 Principios SOLID y diseño orientado a objetos7.4 Aplicación de POO en el diseño de sistemas de software

Fundamentos de programación. SESIÓN 7

+

Fundamentos de programación. SESIÓN 7

+

Es un paradigma de programación que organiza el software en objetos, que son instancias de clases. Este enfoque permite estructurar programas de manera que se asemejen al mundo real, facilitando la comprensión y el mantenimiento del código. A continuación, se presentan los conceptos clave de la POO:

Programación orientada a objetos (POO)

+

+

+

+

Encapsulamiento

Atributos y Métodos

Clases y Objetos

Herencia

Polimorfismo

Abstracción

Fundamentos de programación. SESIÓN 7

Ventajas del POO

  • Reutilización de Código: La herencia permite reutilizar código existente en nuevas clases.
  • Mantenimiento: La organización modular del código facilita su mantenimiento y actualización.
  • Flexibilidad y Extensibilidad: Los sistemas pueden adaptarse y extenderse más fácilmente sin afectar otras partes del sistema.
  • Claridad y Modularidad: La POO promueve un diseño claro y modular, haciendo que el código sea más comprensible.

2

Fundamentos de programación. SESIÓN 7

Es un paradigma de programación que utiliza "objetos" para diseñar aplicaciones y programas. Estos objetos pueden contener datos en forma de campos (atributos o propiedades) y código en forma de procedimientos (métodos).

Conceptos básicos de POO: clases, objetos, atributos, métodos

1

Clases

Objetos

3

Atributos

4

Métodos

La POO permite una organización clara y estructurada del código, facilitando la reutilización y el mantenimiento. Las clases definen los planos para los objetos, los atributos almacenan los datos y los métodos definen los comportamientos. Con estos conceptos, se pueden crear sistemas complejos de manera modular y eficiente.

Fundamentos de programación. SESIÓN 7

+

+

Programación orientada a objetos (POO)

+

Polimorfismo

Herencia

Encapsulamiento

Fundamentos de programación. SESIÓN 7

Fundamentos de programación. SESIÓN 7

Recursos bibliográficos

  • Moreno Pérez, J. C. (2015). Programación orientada a objetos: ( ed.). RA-MA Editorial.

Consulta el tema 1 Introducción al paradigma orientado a objetos. Clases y objetos. Página 12-31.

Fundamentos de programación. SESIÓN 7

Recuperado de: https://elibro.net/es/ereader/udibiblioteca/106461

Recursos bibliográficos

  • Bernal, J. (2012). Programación Orientada a Objetos con Java (POOJ).

Recuperado de: https://www.etsisi.upm.es/sites/default/files/curso_2013_14/MASTER/MIW.JEE.POOJ.pdf

Fundamentos de programación. SESIÓN 7

Consulta el tema Clases y objetos. Página 19-31.

Edteam (2023) ¿Qué son los principios SOLID en programación? La mejor explicación en español. [Video]. YouTube.

Recuperado de:https://www.youtube.com/watch?v=g1shhx5Nvv8

Fundamentos de programación. SESIÓN 7

Es el mecanismo que restringe el acceso a ciertos componentes de los objetos, permitiendo ocultar los detalles internos y exponer sólo lo necesario. Se logra mediante modificadores de acceso como private, protected y public.

Encapsulamiento

Son las propiedades o características de una clase.

Atributos

Son las funciones o comportamientos definidos en una clase.

Métodos

Permite crear nuevas clases basadas en clases existentes, reutilizando el código y estableciendo una relación jerárquica. La clase derivada (hija) hereda atributos y métodos de la clase base (padre).

Herencia

Es una plantilla o modelo que define atributos (datos) y métodos (funciones) comunes a todos los objetos de ese tipo.

Clase

Es una instancia de una clase. Cada objeto tiene su propio estado y comportamiento.

Objeto

Es la capacidad de los objetos de diferentes clases relacionadas por herencia de responder a la misma operación de diferentes maneras. Se logra a través de la sobrecarga y la sobrescritura de métodos.

Polimorfismo

Es el proceso de simplificar un sistema complejo ocultando los detalles innecesarios y mostrando solo la funcionalidad relevante. Se implementa mediante clases abstractas y interfaces.

Abstracción

Las clases encapsulan datos y métodos que operan sobre esos datos, proporcionando una estructura organizada y modular.

Clases

Es una estructura que permite crear objetos con características y comportamientos definidos.

Las clases contienen atributos (datos) y métodos (funciones o procedimientos).

Crear un objeto a partir de una clase se llama instanciación.

Objetos

Es una instancia de una clase. Los objetos son entidades individuales que contienen datos y métodos definidos por su clase.

Los objetos tienen estado (almacenado en atributos) y comportamiento (definido por métodos).

la información o el estado de un objeto.

Atributos

son variables que pertenecen a una clase y describen las propiedades de los objetos creados a partir de esa clase.

Los atributos pueden ser públicos, privados o protegidos, determinando el nivel de acceso permitido.

Los métodos definen las acciones que un objeto puede realizar.

Métodos

Son funciones definidas dentro de una clase que describen los comportamientos de los objetos.

Pueden ser métodos de instancia (que operan sobre objetos individuales) o métodos de clase (que operan a nivel de la clase en sí).

es un mecanismo que permite crear una nueva clase (clase derivada o subclase) a partir de una clase existente (clase base o superclase). La subclase hereda los atributos y métodos de la superclase, lo que permite reutilizar código y extender la funcionalidad existente sin duplicación.

Concepto

  • Reutilización de código: Permite usar el código existente en nuevas clases.
  • Organización jerárquica: Crea una estructura que refleja las relaciones de "es-un" entre las clases.
  • Facilidad de mantenimiento: Cambios en la superclase se propagan a las subclases, facilitando la actualización del código.

Características

Es una técnica que se utiliza para proteger los datos y ocultar los detalles de implementación de un objeto. Consiste en agrupar datos (atributos) y métodos (funciones) que operan sobre esos datos en una sola unidad llamada clase. La clave del encapsulamiento es restringir el acceso directo a algunos de los componentes de un objeto, lo que se logra mediante modificadores de acceso (público, privado, protegido).

Concepto

  • Controlar el acceso a los datos: Se puede definir qué partes del código pueden modificar o acceder a los atributos de un objeto.
  • Mantener la integridad de los datos: Al restringir el acceso, se asegura que los datos solo puedan ser modificados de maneras controladas.
  • Facilitar el mantenimiento y la comprensión: Al ocultar los detalles internos, se pueden realizar cambios en la implementación sin afectar a otras partes del programa.

Características

permite que una misma operación o método se comporte de diferentes maneras según el contexto. En otras palabras, diferentes clases pueden redefinir métodos compartidos de formas distintas.

Concepto

  • Polimorfismo de Sobrecarga: Permite definir múltiples métodos con el mismo nombre pero diferentes parámetros en la misma clase.
  • Polimorfismo de Sobreescritura: Permite que una subclase proporcione una implementación específica de un método que ya está definido en su superclase.

Características