Programación orientada a objetos en Python: PL/SQL con Python

Tutorial: Programación orientada a objetos en Python: PL/SQL con Python

Introducción

La programación orientada a objetos (POO) es un paradigma de programación que organiza el código en torno a objetos. Un objeto es una entidad que tiene estado y comportamiento. El estado de un objeto se representa mediante sus atributos, y su comportamiento se representa mediante sus métodos.

PL/SQL es un lenguaje de programación procedural que se utiliza para escribir código para bases de datos Oracle. Es un lenguaje potente que puede utilizarse para realizar una amplia gama de tareas, incluyendo el acceso a datos, la manipulación de datos y la creación de funciones y procedimientos.

En este tutorial, aprenderemos a utilizar la POO en Python para escribir código PL/SQL.

Creación de una clase PL/SQL

Para crear una clase PL/SQL, utilizamos la palabra clave class. El siguiente código crea una clase llamada Persona:

Python
class Persona:
  pass

Esta clase no tiene ningún atributo ni método.

Atributos de una clase PL/SQL

Los atributos de una clase PL/SQL se definen utilizando la palabra clave def. El siguiente código define un atributo llamado nombre para la clase Persona:

Python
class Persona:
  nombre = None

Este atributo es de tipo None, que es un tipo especial en Python que representa un valor desconocido.

Métodos de una clase PL/SQL

Los métodos de una clase PL/SQL se definen utilizando la palabra clave def. El siguiente código define un método llamado saludar() para la clase Persona:

Python
class Persona:
  nombre = None

  def saludar(self):
    print("Hola, mi nombre es {}!".format(self.nombre))

Este método toma un parámetro llamado self, que representa el objeto actual.

Creación de un objeto PL/SQL

Para crear un objeto PL/SQL, utilizamos el operador (). El siguiente código crea un objeto llamado persona de la clase Persona:

Python
class Persona:
  nombre = None

  def saludar(self):
    print("Hola, mi nombre es {}!".format(self.nombre))

persona = Persona()

Este objeto tiene un atributo nombre que es None.

Asignación de valores a los atributos de un objeto PL/SQL

Podemos asignar valores a los atributos de un objeto PL/SQL utilizando el operador =. El siguiente código asigna el valor «Juan» al atributo nombre del objeto persona:

Python
class Persona:
  nombre = None

  def saludar(self):
    print("Hola, mi nombre es {}!".format(self.nombre))

persona = Persona()
persona.nombre = "Juan"

Ahora, el atributo nombre del objeto persona tiene el valor «Juan».

Invocación de métodos de un objeto PL/SQL

Podemos invocar métodos de un objeto PL/SQL utilizando el operador .. El siguiente código invoca el método saludar() del objeto persona:

Python
class Persona:
  nombre = None

  def saludar(self):
    print("Hola, mi nombre es {}!".format(self.nombre))

persona = Persona()
persona.nombre = "Juan"
persona.saludar()

Este código imprime el siguiente mensaje:

Hola, mi nombre es Juan!

Ejemplo de uso de la POO en PL/SQL

Vamos a ver un ejemplo de cómo utilizar la POO en PL/SQL para crear una clase que represente un libro.

Python
class Libro:
  titulo = None
  autor = None
  editorial = None
  paginas = None

  def __init__(self, titulo, autor, editorial, paginas):
    self.titulo = titulo
    self.autor = autor
    self.editorial = editorial
    self.paginas = paginas

  def mostrar_informacion(self):
    print("Título: {}".format(self.titulo))
    print("Autor: {}".format(self.autor))
    print("Editorial: {}".format(self.editorial))
    print("Páginas: {}".format(self.paginas))

libro = Libro("El Quijote de la Mancha", "Miguel de Cervantes", "Biblioteca Clásica", 1615)
libro