Fundamentos de Programación: Objetos, Clases y Validación

Fundamentos de Programación

Preguntas y Respuestas

a) [ Falso ] La programación procedimental pone su foco en los datos, mientras que la orientada a objetos pone su foco en la lógica de programación.

La programación procedimental pone su foco en la lógica de programación, mientras que la orientada a objetos pone su foco en los datos.

b) [ Verdadero ] Todas las aplicaciones desarrolladas en .Net son ejecutadas por el CLR (Common Language Runtime).

c) [ Falso ] «Console.Read();» detendrá el programa hasta que presionemos cualquier tecla.

El verdadero es Console.ReadKey().

d) [ Falso ] Un breakpoint imprime por consola el valor de las variables locales en ejecución.

El programa se ejecutará normalmente hasta que llegue a una de esas líneas.

e) [ Verdadero ] Un form (o ventana) es un objeto para la aplicación.

Los controles son botones, cajas de diálogo y de texto, barras de desplazamiento horizontales.

f) [ Falso ] Una matriz es un array bidimensional.

Una o más dimensiones.

g) [ Verdadero ] Una cadena de caracteres inicializa por defecto como cadena vacía.

h) [ Verdadero ] Las variables de instancia son los datos propios de un objeto.

Características de la Programación Orientada a Objetos

  1. Encapsulamiento: Se basa en el principio de ocultamiento de información. Esto permite manipular los objetos como unidades básicas, permaneciendo oculta su estructura interna.
  2. Herencia: Permite el acceso automático a la información contenida en otras clases. La reutilización del código está garantizada. Significa que las subclases disponen de todos los métodos y propiedades de la superclase.
  3. Polimorfismo: Permite implementar múltiples formas de un mismo método. Se puede acceder a una variedad de métodos distintos utilizando exactamente el mismo medio de acceso.

Diseño de un Programa: Preguntas Clave

  1. ¿Qué entradas se nos ofrecen?
  2. ¿Qué salida debemos generar?
  3. ¿Cuál es el método que debemos usar para llegar a la solución deseada?

Niveles de Validación de Datos de Entrada

  1. Tipo de dato: Evaluamos que el tipo de dato sea correcto.
  2. Reglas de negocio: Evaluamos que el valor esté dentro de un conjunto aparentemente válido.
  3. Integridad referencial: Evaluamos que efectivamente haga referencia a un valor existente y válido.

Preguntas Adicionales

7) ¿Qué es un objeto? [ d ]

  1. La definición de una estructura de datos
  2. El conjunto de actividades que puede realizar una clase
  3. Los métodos y propiedades que se exponen públicamente en una instancia
  4. Ninguna de las anteriores

1) ¿Qué es la firma de una función? [ d ]

  1. El nombre de la función
  2. El tipo de dato que retorna
  3. Los parámetros de la función
  4. Todas las anteriores

3) Una propiedad en un objeto se utiliza para [ d ]

  1. Dar un acceso controlado a un atributo
  2. Acceder de manera «readonly» a una variable
  3. Escribir sobre los datos de una clase
  4. Todas las anteriores

Tipos de Datos y Paradigmas de Programación

Tipos de datos de programación:

  • Numérico: enteros/reales
  • Carácter: carácter o cadena de caracteres (símbolo, número, letra)
  • Lógico: 1/0 o Verdadero/Falso.

Un paradigma de programación consiste en un método para llevar a cabo cómputos y la forma en la que deben estructurarse y organizarse las tareas que debe realizar un programa. Programación orientada a objetos: un programa se divide en partes pequeñas llamadas “objetos”. Este paradigma se basa en objetos y clases ligados mediante mensajes. Los datos tienen atributos y muestran su comportamiento por el método.

Objeto: entidad que contiene tanto datos como las instrucciones para manipular y comunicar esos datos. Consta de un estado y de un comportamiento. Éstos a su vez están determinados respectivamente por sus datos almacenados y tareas realizables durante el tiempo de ejecución. Es una instancia de la clase.

Clase: Una clase, en términos simples, es un “plano” de lo que debe ser un objeto, donde se define todas sus propiedades comunes a todos los objetos creados a partir de la misma. Una clase puede ser utilizada para definir múltiples objetos en un programa. Un objeto es instancia de dicha clase.

¿Qué se puede validar?

  • Tipo de dato
  • Longitud
  • Rangos
  • Valores determinados
  • Vacíos
  • Formatos.

Programación Lineal y Modular

Programación lineal: En ella cada instrucción se ejecuta en el mismo orden en que fue escrita. No obstante se puede alterar ese orden mediante instrucciones de salto (GOTO), cambiando así el control de flujo del programa. El Assembler y el BASIC tradicional trabajan de esa forma. Este tipo de programación no es propicio para desarrollos complejos y ha sido desplazado por otras técnicas de programación.

Programación modular: La programación modular divide el programa en módulos (partes independientes), cada una de las cuales ejecuta una única tarea o función. Cada módulo se analiza, se codifica y se pone a punto de forma independiente de otros módulos. Un módulo está formado por una o varias sentencias. Un módulo puede ser una función o un procedimiento, con un solo punto de entrada y un solo punto de salida.

Cohesión y Acoplamiento

La relación ideal entre la cohesión y el acoplamiento en los módulos de una aplicación es que haya alta cohesión y bajo acoplamiento.

Alta cohesión: Se refiere a que los elementos dentro de un módulo están fuertemente relacionados y trabajan juntos para lograr un propósito específico. Un alto nivel de cohesión indica que las responsabilidades dentro del módulo están bien enfocadas y relacionadas entre sí.

Bajo acoplamiento: Indica que los módulos están débilmente conectados entre sí. Esto significa que un cambio en un módulo no debería tener un impacto significativo en otros módulos. Los módulos con bajo acoplamiento están más aislados y son más independientes, lo que facilita el mantenimiento, la reutilización y la escalabilidad del sistema.

La relación ideal entre la cohesión y el acoplamiento implica maximizar la cohesión (trabajando funcionalmente y de manera lógica dentro de los módulos) mientras se minimiza el acoplamiento (reduciendo las dependencias entre los módulos). Esta relación promueve un diseño de software más robusto, flexible y mantenible.

Relación Ideal entre Cohesión y Acoplamiento

4) ¿Cuál es la relación ideal que debe existir entre la cohesión y el acoplamiento de los módulos de una aplicación?

  1. Se espera que los módulos puedan cubrir múltiples tareas (reduciendo la cohesión para garantizar el correcto funcionamiento de la aplicación.
  2. Buscamos una integración firme y amplia entre todos los módulos para conseguir así un buen relacionamiento entre las partes mediante un alto nivel de acoplamiento.
  3. Deseamos contar con el desarrollo específico de una única tarea dentro de cada uno de los módulos y un bajo nivel de acoplamiento entre los diferentes módulos.
  4. Siempre tratamos de reducir al máximo el acoplamiento cubriendo dentro del módulo la mayor cantidad de tareas posibles.
  5. Ninguna de las anteriores son correctas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.