Want to make creations as awesome as this one?

Transcript

INICIAR

Programación para Videojuegos I

Para ver la información, da clic en la imagen.

La importancia de conocer los conceptos básicos de la Programación Orientada a Objetos (POO) radica en varios aspectos fundamentales que son clave en el desarrollo de software. La POO facilita el desarrollo de software al permitir a los programadores modelar entidades del mundo real como objetos con atributos y comportamientos, lo que resulta en un código más organizado, reutilizable y fácil de mantener. Además, al enfocarse en el encapsulamiento, la herencia y el polimorfismo, la POO promueve una mejor gestión de la complejidad y una mayor flexibilidad en el diseño de software. Estos beneficios hacen que la comprensión de la POO sea esencial no solo para construir aplicaciones robustas y eficientes, sino también para colaborar eficazmente en proyectos de software a gran escala y adaptarse rápidamente a las cambiantes demandas tecnológicas.

Unidad 4. Conceptos de Programación Orientada a Objetos (POO)

4.1 Declaración de clases: atributos, métodos, encapsulamiento

Para ver la información, da clic en los focos.

La Programación Orientada a Objetos (POO) es un paradigma de programación que representa conceptos del mundo real mediante "clases" y "objetos". Este enfoque se centra en la declaración de clases, la cual es esencial para permitir a los desarrolladores organizar sus programas de forma eficaz y eficiente. La POO se fundamenta en tres pilares fundamentales: atributos, métodos y encapsulamiento.

Unidad 4. Conceptos de Programación Orientada a Objetos (POO)

Entre los diferentes tipos de métodos, los setters y getters son particulares por permitir el acceso y la modificación de los valores de los atributos privados de una clase desde el exterior. Por ejemplo, en una clase Auto, además de un método arrancar() que podría cambiar el estado de un atributo estáEncendido de falso a verdadero, podrían existir métodos como getEstáEncendido() para verificar si el auto está encendido y setEstáEncendido(estado) para cambiar este estado.

4.1 Declaración de clases: atributos, métodos, encapsulamiento

Para ver la información, da clic en las imágenes.

Métodos Los métodos son funciones definidas dentro de una clase que operan en los datos (atributos) de un objeto. Los métodos pueden realizar operaciones como modificar los atributos de un objeto, realizar cálculos, o cualquier otra función necesaria para el comportamiento del objeto.

Unidad 4. Conceptos de Programación Orientada a Objetos (POO)

Declaración de clases Una clase en POO es una plantilla o un plano a partir del cual se crean objetos. Los objetos son instancias de clases y encapsulan tanto los datos como el comportamiento que es específico de ese objeto. La declaración de una clase es el primer paso para utilizar la POO y se define especificando un nombre de clase seguido de un bloque de código que contiene los atributos y métodos de la clase. Por ejemplo, consideremos una clase Auto, está clase podría incluir atributos como marca, modelo, año, y métodos como arrancar() y detener(). La declaración de esta clase proporciona un marco para crear objetos Auto con propiedades y comportamientos específicos.

Propósito de los Setters y Getters

  • Getters (Métodos de Acceso): permiten obtener o acceder al valor de un atributo privado. Esto es útil cuando se necesita leer el valor de un atributo sin modificarlo.
  • Setters (Métodos de Modificación): permiten establecer o modificar el valor de un atributo privado. Esto permite cambiar el estado de un objeto de manera controlada, incluyendo, si es necesario, la validación del nuevo valor antes de asignarlo.

Atributos Los atributos, también conocidos como propiedades o campos, son las variables que se definen dentro de una clase. Estos atributos almacenan los datos o el estado de un objeto y sus nombres deben reflejar la función o el propósito dentro de la clase. Siguiendo con el ejemplo anterior, los atributos: marca, modelo y año definirán el estado de un objeto Auto. Los valores específicos de estos atributos diferencian un objeto Auto de otro. Es esencial seleccionar el tipo de dato más adecuado para cada atributo, teniendo en cuenta el rango de valores que puede tomar y la manera en que se utilizará dentro de la clase. Esta consideración asegura que los datos se manejen de manera eficiente y se mantenga la integridad del objeto, facilitando la implementación de lógicas y operaciones sobre los mismos.

Explicación del código Dentro de la clase Auto del ejemplo en Java, se identifican los siguientes elementos:

  • Atributos: Son las características que definen el estado de un objeto Auto, en este caso: marca, modelo, año, y encendido. Están declarados como privados (private), limitando su acceso directo solo a métodos dentro de la misma clase.
  • Métodos: Funcionalidades que permiten interactuar con el objeto Auto. Incluyen un constructor para inicializar el objeto y métodos arrancar() y detener() para modificar el estado de encendido y mostrar mensajes relevantes. Estos métodos son públicos (public), lo que significa que pueden ser llamados por objetos de otras clases.
  • Encapsulamiento: Se logra mediante la declaración de atributos como privados y la provisión de métodos públicos para interactuar con esos atributos.

Encapsulamiento El encapsulamiento permite ocultar los detalles internos de la implementación de una clase, exponiendo solo aquellos componentes que son necesarios para el uso externo de la clase. Esto se logra mediante el uso de niveles de acceso específicos, que controlan cómo los miembros (atributos y métodos) de la clase pueden ser accedidos y modificados. Estos niveles pueden tener una ligera variación entre lenguajes de programación a continuación, se muestran los más comunes:

  • Private: los miembros declarados como private sólo son accesibles dentro de la misma clase donde se declaran. No pueden ser accedidos directamente desde fuera de la clase, ni siquiera por clases hijas (en el caso de herencia).
  • Protected: los miembros declarados como protected son accesibles dentro de la clase donde se declaran, así como en las clases derivadas (hijas) de esta. No son accesibles directamente desde otras partes del programa que no sean estas clases.
  • Public: los miembros declarados como public son accesibles desde cualquier parte del programa. No hay restricciones de acceso para ellos.

Sabías qué: "La idea de objetos y clases en la POO está inspirada en la biología, específicamente en la forma en que los seres vivos se clasifican en especies y cómo los individuos de una especie comparten ciertas características. Del mismo modo, en la POO, las clases pueden verse como "especies" que definen los atributos y comportamientos (métodos) comunes, mientras que los objetos son instancias concretas de estas clases.“

Ejemplo en Java: public class Auto { private String marca; private String modelo; private int año; private boolean encendido; public Auto(String marca, String modelo, int año) { this.marca = marca; this.modelo = modelo; this.año = año; this.encendido = false; } public void arrancar() { if (!encendido) { encendido = true; System.out.println("El auto " + marca + " " + modelo + " ha arrancado."); } else { System.out.println("El auto ya está arrancado."); } } public void detener() { if (encendido) { encendido = false; System.out.println("El auto " + marca + " " + modelo + " se ha detenido."); } else { System.out.println("El auto ya está detenido."); } } // Métodos adicionales como getters y setters podrían ser añadidos aquí... }