Los paradigmas de programación son las teorías o ideas que ayudan a dar forma a los diferentes lenguajes que utiliza para crear software. Representan las principales características de un lenguaje de programación, dictando su comportamiento.

Por lo tanto, es seguro decir que un paradigma es tan importante como la sintaxis y la semántica de un lenguaje de programación. Los lenguajes de programación más populares utilizan uno de los pocos tipos de paradigma de programación.

1. Programación Imperativa

El paradigma imperativo es uno de los primeros enfoques de la programación, que se remonta a la década de 1950. Este paradigma se basa en gran medida en el uso de variables, comandos y procedimientos.

La programación imperativa utiliza comandos para inspeccionar y actualizar variables, almacenando el estado en un programa. Una combinación de comandos crea un procedimiento. La abstracción de datos juega un papel crucial en la representación de datos, lo que facilita el acoplamiento flexible.

Uno de los lenguajes más populares que utiliza el paradigma imperativo es C. Este lenguaje de programación solo admite procedimientos de función.

instagram viewer

Un ejemplo de programa imperativo

#incluir 
#incluir

cliente de estructura
{
ID de cliente int;
char NúmeroPedido[20];
nombre de char[30];
flotar OrderTotal;
};

vacío principal ()
{
struct Cliente John = {4000, "HK1001", "John Doe", 200.00};
estructura Cliente Jane = {4001, "HK1002", "Jane Doe", 600.00};

memcpy (Jane. Nombre, "Jane Jones", 10);

printf ("El costo total de %s número de pedido %s es: $%.2f",Jane. Nombre, Jane. Número de pedido, Jane. Total del pedido);
}

El programa en C anterior crea un Cliente estructura. los estructura type es un excelente ejemplo de abstracción de datos en C.

El programa demuestra cómo los comandos pueden crear, actualizar y mostrar el estado, a través de la jane variable de estructura. Todos estos comandos están en un principal() función, que en su conjunto es un procedimiento que establece cuánto dinero debe pagar un cliente por un pedido.

Ejecutar el programa anterior producirá el siguiente resultado en su consola:

El costo total del pedido número HK1002 de Jane Jones es: $600.00

2. Programación orientada a objetos

El paradigma de la programación orientada a objetos despegó en la década de 1990. Este paradigma es descendiente del imperativo. Sin embargo, el paradigma orientado a objetos almacena el estado en objetos y no en variables.

Los lenguajes de programación que usan el paradigma orientado a objetos a menudo manejan mejor las aplicaciones complejas. Las características centrales del paradigma son objetos, clases, encapsulación de datos, herencia y polimorfismo.

Una clase es el componente fundamental de un programa orientado a objetos. Algunas clases heredan propiedades y operaciones de otras clases. Los programadores describen esto como una relación padre-hijo. Se incluye en la categoría de polimorfismo de subtipo.

Las clases contienen herramientas para ocultar y proteger datos confidenciales a través de la encapsulación. Una vez que haya definido una clase, puede usarla para crear objetos.

Tres de los lenguajes de programación más populares que utilizan el paradigma orientado a objetos son Java, C++ y Python.

Un ejemplo de programa orientado a objetos

Esta aplicación demuestra la mayoría de las características de un lenguaje de programación orientado a objetos, Java. Un tipo específico de cliente hereda el comportamiento de un tipo más general. Todos los clientes implementan una interfaz. El tipo de cliente específico anula un método de la interfaz.

El archivo Descuento.java

públicointerfaz Descontable {

públicovacío grandTotal (String orderNumber, doble total);

}

El código anterior crea una interfaz. En Java, una interfaz es otro ejemplo de polimorfismo. Permite que entidades que no están directamente relacionadas accedan a las mismas propiedades, como el gran total método. Esta aplicación se enfoca en los clientes, pero una clase de empleado también podría tener uso para la interfaz de descuento.

El archivo Customer.java

públicoclase Cliente implementos Descontable {
protegidoEn t Identificación del cliente;
protegido Cadena nombre del cliente;
protegido Cadena código de cliente;

público Cliente() {
esta.idcliente = 0;
esta.nombreCliente = "";
esta.CódigoCliente = "";
}

público Cliente(En t IDcliente, String nombreCliente, String códigoCliente) {
esta.IdCliente = IdCliente;
esta.nombreCliente = nombreCliente;
esta.codigocliente = codigocliente;
}

públicoEn t obtenerIdCliente() {
regreso Identificación del cliente;
}
públicovacío setCustomerId(En t Identificación del cliente) {
esta.IdCliente = IdCliente;
}
público String obtenerNombreDeCliente() {
regreso Nombre del cliente;
}
públicovacío setNombreDeCliente (String nombreDeCliente) {
esta.nombreCliente = nombreCliente;
}
público String obtenerCódigoCliente() {
regreso código de cliente;
}

públicovacío setCódigoCliente (String códigoCliente) {
esta.codigocliente = codigocliente;
}

públicodoble tipoCliente (String códigoCliente) {
doble descuento = 0;

si (CódigoCliente.toLowerCase().equals("pre")) {
descuento = 0,10;
} demássi (CódigoCliente.toLowerCase().equals("gen")) {
descuento = 0,02;
} demássi (CódigoCliente.toLowerCase().equals("nuevo")) {
descuento = 0,05;
}
regreso descuento;
}

@Anular
públicovacío grandTotal (String orderNumber, doble totales) {

doble descuento = tipoCliente (CódigoCliente);
doble descuentoPorcentaje = total * descuento;
doble finalTotal = total - descuentoPorcentaje;

Sistema.fuera.println("Para "+ getCustomerName() + " order Number " + orderNumber + " el total general es: $" + finalTotal);
}

}

El código anterior crea un Cliente clase. Implementa el Descontable luego usa su método para calcular y mostrar un total general, basado en la categoría del cliente. los protegido La palabra clave en el código anterior es un ejemplo de encapsulación de datos; restringe el acceso a los datos creados a través de esta clase. Entonces, solo las subclases (o clases secundarias) del Cliente class tendrá acceso a sus datos.

El archivo NewCustomer.java

públicoclase Nuevo cliente extiende Cliente {
público Nuevo cliente() {
súper();
}

público Nuevo cliente(En t IDcliente, String nombreCliente, String códigoCliente) {
súper(Idcliente, nombrecliente, códigocliente);
}

}

El código anterior crea un Nuevo cliente clase que extiende la Cliente clase. Esta La clase Java usa herencia para representar una relación padre-hijo con el Cliente clase. los Nuevo cliente es el elemento secundario de la relación, por lo que tiene acceso a todas las propiedades de la clase Customer. Importa los atributos de la clase Customer usando el súper() método.

El archivo App.java

públicoclase aplicación {
públicoestáticovacío principal (String[] argumentos) {
Cliente Jane = nuevo NuevoCliente (4001, "Jane Jones", "nuevo");
Jane.grandTotal("HK1002", 600);
}
}

El código anterior crea un ejecutable aplicación clase. Esta clase crea un objeto Cliente (Jane) y a través del polimorfismo convierte a Jane en un Nuevo cliente. Finalmente, genera el total general del pedido de Jane. Ejecutar el programa anterior generará el siguiente resultado en la consola:

Para el pedido número HK1002 de Jane Jones, el total general es: $570.0

3. Programación funcional

Los conceptos clave de este paradigma son expresiones, funciones, polimorfismo paramétrico y abstracción de datos. Las expresiones son los componentes fundamentales de las funciones utilizadas por los lenguajes de programación funcional. El polimorfismo paramétrico es uno de los tres tipos de polimorfismo. Este tipo facilita la programación genérica a través de funciones y tipos.

JavaScript es uno de los lenguajes de programación funcional más populares.

Un ejemplo de programa funcional

const Cliente = {
Número de identificación: 1002,
Nombre: 'Jane Jones',
Código de cliente: 'nuevo'
}

const main = (cliente, función, valor) => {
var total = func.apply (null, [cliente. CódigoCliente, valor ]);
consola.log(`${cliente. Nombre} total es: ${total}`);
}

const grandTotal = (CódigoCliente, total) => {
if (CódigoCliente == "nuevo") {
descuento = total * 0,05;
mainTotal = total - descuento;
volver TotalPrincipal;
} else if (CódigoCliente == "pre") {
descuento = total * 0,10;
mainTotal = total - descuento;
volver TotalPrincipal;
}
}

principal (Cliente, grandTotal, 600);

El programa JavaScript anterior tiene un objeto literal y dos funciones. Declara cada una de las funciones como una expresión usando el Función de flecha de JavaScript. los principal() función es una función de orden superior. toma el gran total función como uno de sus argumentos, luego llama a esa función. Este es también un ejemplo de polimorfismo paramétrico.

los gran total() La función contiene varias expresiones, y la función Clienteobjeto es un ejemplo de abstracción de datos. El programa anterior genera el siguiente resultado en la consola:

El total de Jane Jones es: $ 570

La complejidad de los lenguajes de programación

Un lenguaje de programación puede incorporar los conceptos de un paradigma de programación, pero eso no significa que esté limitado a un paradigma. Muchos de los lenguajes de programación populares (como Python, Java, JavaScript y C++) son lenguajes multiparadigmáticos.

Algunos paradigmas de programación, como el imperativo y el orientado a objetos, también están relacionados. Pero a pesar de este parentesco, hay algunas diferencias significativas.

Programación Orientada a Objetos vs. Programación procedimental: ¿Qué los hace diferentes?

Leer siguiente

CuotaPíoCuotaCorreo electrónico

Temas relacionados

  • Programación
  • Programación
  • Programación funcional
  • Programación orientada a objetos
  • Lenguajes de programación

Sobre el Autor

kadeisha kean (51 artículos publicados)

Kadeisha Kean es una desarrolladora de software de pila completa y escritora técnica/tecnológica. Tiene la clara habilidad de simplificar algunos de los conceptos tecnológicos más complejos; producir material que pueda ser fácilmente entendido por cualquier novato en tecnología. Le apasiona escribir, desarrollar software interesante y viajar por el mundo (a través de documentales).

Más de Kadeisha Kean

Suscríbete a nuestro boletín

¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse