Está en la página 1de 10

lOMoARcPSD|8041189

Tarea Académica 1 - clases persistentes python, scala, c#

CALCULO APLICADO A LA FISICA 2 (Universidad Tecnológica del Perú)

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)
lOMoARcPSD|8041189

Clases persistentes con Python, C# y Scala

I. INTRODUCCIÓN

En la presente tarea académica se explicará la aplicación de la persistencia a través de


clases persistentes en los programas siguientes: C#, Python y Scala. Detallando que se
llama persistencia a la capacidad de un objeto para existir fuera de un programa, proceso,
función o hilo de control; de manera que se conserva su estado y su comportamiento. Esto
quiere decir que la persistencia hace que la información de un programa sea capaz de
guardarse para volver a utilizarse en otro momento.
Es lo que los usuarios conocen como Guardar el archivo y después Abrir el archivo.
Para la programación puede significar más cosas y suele involucrar un proceso de
serialización de los datos a un archivo o a una base de datos o a algún otro medio similar,
y el proceso inverso de recuperar los datos a partir de la información serializada.

II. DESARROLLO

a. CLASES PERSISTENTES
La capa de persistencia está formada por un conjunto de clases y componentes
responsables del almacenamiento y recuperación de datos, a y desde una o más fuentes
de datos. Esta capa, necesariamente incluye un modelo de las entidades del modelo del
negocio.
Las clases persistentes, por lo tanto, son clases situadas en la capa de persistencia que
implementan las entidades del negocio del problema. El término clase persistente no
implica que una clase es persistente. Es más, significa que los objetos de esa clase y su
estado son gestionados por el servicio de persistencia.

b- APLICACIÓN DE CLASES PERSISTENTES USANDO EL LENGUAJE DE


PROGRAMACIÓN C#.
C# o C Sharp es un lenguaje de programación creado por Microsoft. Fue creado en el año
2000. Este lenguaje nació con todas las herramientas que contaban sus principales rivales
de esa época; C++ y Java. Nació como un lenguaje orientado objetos, que en ese
momento estaba en auge, como una de las herramientas más poderosas de desarrollo de
software y aún lo sigues siendo, ya que esta forma de trabajo nos permite reutilizar
grandes cantidades de códigos así pudiendo crear nuestras propias herramientas a través
de las famosas clases.
C# tiene sus orígenes en la familia de lenguajes C y su primera versión, se parecía mucho
a Java. De hecho, se creó con el fin de ser una alternativa viable en este en Windows.
Muchas de sus características fueron evolucionando y mejorando hasta llegar a la versión
actual. Ahora el lenguaje de C# admite los conceptos de encapsulación, herencia y

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

polimorfismo y facilita el desarrollo de componentes de software mediante varias


construcciones de lenguaje innovadoras.
Clase en C#
Una clase es un molde del que luego se pueden crear múltiples objetos, con similares
características.
Una clase es una estructura de datos que combina estados (campos) y acciones (métodos
y otros miembros de función) en una sola unidad. Una clase proporciona una definición
para instancias de la clase, también conocidas como objetos. Las clases admiten herencia
y polimorfismo, mecanismos por los que las clases derivadas pueden extender y
especializar clases base.
Sintaxis de una clase en C#:

class [nombre de la clase] {


[atributos o variables de la clase]
[métodos o funciones de la clase]
[main]
}

Ejemplo:
class Cliente
{
private string nombre;
private int monto;

public Cliente(string nom)


{
nombre = nom;
monto = 0;
}

public void Depositar(int m)


{
monto = monto + m;
}

public void Extraer(int m)


{
monto = monto - m;
}

public int RetornarMonto()


{
return monto;
}

public void Imprimir()


{
Console.WriteLine(nombre + " tiene depositado la suma de " + monto);
}
}

Clases Persistentes en C#

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

Con respect a C#, la persistencia es aquel que se puede guardar en la memoria


secundaria la computadora como un disco o memoria donde los códigos programados
permanezcan más allá de la ejecución del programa.
Para guardar una clase usando persistencia se debe etiquetar usando [Serializable] antes
de la clase.

Ejemplo:
using System;
using System.Collections.Generic;
using Systen.Linq;
using System.Text;
namespace ObjetosPersistentes
{
[Serializable]
class Persona
{
private string Nombre;
private int Edad;
public Persona()
{
Nombre =””;
Edad = 0;
public void SetNombre (string Nombre) {
this. Nombre =Nombre;
}
public void SetEdad (int Edad) {
this.Edad = Edad;
}
public string GetNombre () {
return Nombre;
}
public int GetEdad () {
return Edad;
}
}
c. CLASES PERSISTENTES EN PYTHON

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

Python:
Es un lenguaje de programación creado por Guido van Rossum a principios de los años
90. Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente
tipado, multiplataforma y orientado a objetos.
Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa
intermedio llamado intérprete, en lugar de compilar el código a lenguaje máquina que
pueda comprender y ejecutar directamente una computadora (lenguajes compilados).
Python tiene muchas de las características de los lenguajes compilados, por lo que se
podría decir que es semi interpretado, esto quiere decir que el código fuente se traduce a
un pseudo código máquina intermedio llamado bytecode la primera vez que se ejecuta,
generando archivos .pyc o. pyo que son los que se ejecutarán en sucesivas ocasiones.

“La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los
programas elaborados en Python parecen pseudocódigo. Por este motivo se trata
además de uno de los mejores lenguajes para comenzar a programar. ” Gonzales
(2011) p. 8

Clases en Python
Una clase en Python es una plantilla a partir de la cual se instancian los objetos, y define
que atributos y métodos tendrán los objetos de esa clase.
Se definen usando la palabra clave class, seguido del nombre de la clase y dos puntos (:)
Ejemplo:

class Humano(): //Creamos la clase Humano


def __init__(self, edad, nombre): //Definimos el atributo edad y nombre
self.edad = edad // Definimos que el atributo edad, sera la edad asignada
self.nombre = nombre // Definimos que el atributo nombre, sera el nombre
asignado
Persona1 = Humano(31, "Pedro") //Instancia

Clase persistente en Python:


La persistencia es la acción de conservar la información un objeto de forma permanente,
pero también de recuperarla.
Una clase persistente en Python es similar a una clase normal o básica.
Cuando un programa termina su ejecución, el estado de los objetos que contenía es
eliminado. Sin embargo, existen varias formas de permitir que el estado de un objeto
persista.
Python cuenta con el módulo pickle, el cual es capaz de guardar el estado de un objeto en
un archivo.
Ejemplo:
import pickle

d = {'var1':'desperados','var2':'coronita'}

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

//Abrimos el archivo donde almacenaremos el resultado de la


serialización
with open('file.data', 'w') as fh: //Almacenamos el diccionario en el
fichero con dump()
pickle.dump(d, fh)
fh.close()
//Con load leemos el contenido almacenado en el archivo donde
almacenamos la información.
with pickle.load(open('file.data', 'r')) as spd:
print spd

También existe otra forma de hacer persistente una clase en Python, la cual es usando la
es con la librería Shelve. Esta librería trabaja sobre pickle y permite almacenar objetos
como un diccionario. Siendo muy útil cuando queremos guardar muchos objetos y
posteriormente acceder solo a algunos de ellos.
import shelve

d = {'var1':'desperados'}
d2 = {'var2':'coronita'} //Escribimos los datos asociándoles una llave

with shelve.open(‘file.data’, ‘c’) as shelf:


shelf[“uno”] = d
shelf[“dos”] = d1 // Leemos los datos y los mostramos

with shelve.open('file.data', 'r') as shelf:


for key in shelf.keys():
print(repr(shelf[key])))

d. APLICACIÓN DE CLASES PERSISTENTES USANDO EL LENGUAJE DE


PROGRAMACIÓN SCALA.
Scala es un lenguaje de programación qué es multiparadigma, es decir, que implementa a
la vez varios paradigmas de programación. Está basado en Java, pero es más conciso,
porque no se tendrá que escribir demasiado en este lenguaje.
También es un lenguaje orientado a objetos donde podemos encontrar lo tradicional en
POO, como clases, paquetes, módulos, polimorfismo, herencia, etc. Y a la vez, funcional
ya que, trata a las funciones como ciudadanos de primera clase. Soporta funciones
anónimas lambdas, patrones, etc.

Clases en Scala.
Una clase en Scala es una plantilla definida por el programador a partir del cual se crean
objetos combinando los campos y métodos en una sola unidad. En una clase se usa un
constructor para inicializar nuevos objetos, los campos son variables que proporcionan el
estado de la clase y sus objetos, y se usan métodos para implementar el comportamiento
de la clase y sus objetos. Las clases en Scala no se declaran como públicas y puede
haber varias clases en un archivo fuente de Scala.
Por ejemplo
// Un programa de Scala para mostrar en pantalla
// Como crear una clase

// Nombre de la clase es Smartphone


class Smartphone

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

// Class variables
var number: Int = 24
var nomEmp: String = "Samsung"

def Display()
{
println("Nombre de la empresa : " + nomEmp);
println("Total de modelos lanzados: " + number);
}
}
object Main
{

// Main method
def main(args: Array[String])
{

// Class object
var obj = new Smartphone();
obj.Display();
}
}

Lo que ejecuta esta clase es:


Nombre de la empresa: Apple
Total de modelos lanzados: 24

Clases persistentes en Scala:


Una clase persistente en Scala se define como una clase con atributos básicos, en el cual
serán declarados y para luego ser llamados por un objeto.
Los atributos no son privatizados debido a que se puede acceder con mucha facilidad.
El lenguaje de programación Scala promueve el uso de estructuras de datos persistentes
para implementar programas usando "Estilo funcional de objetos". Scala contiene
implementaciones de muchas estructuras de datos persistentes, incluidas Listas
enlazadas, árboles rojo-negro, así como intentos mapeados de matriz hash persistentes.

Ejemplo:
class Persona( var nombre:String, var edad:Int);
object Program{
def main(args: Array[String]){
var Persona=new Persona("Alvaro",25);
println(Persona.nombre);
println(Persona.edad);
}

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

e. CONCLUSIONES

 En términos muy simples, una capa de persistencia es una forma de GUARDAR y


RECUPERAR elementos que utiliza la aplicación.
 También se usa para aquel objeto que se crea y luego sea guardado en la base de
datos.
 La persistencia permite al programador almacenar, transferir y recuperar el estado
de los objetos
 Para que una clase sea persistente se debe seguir cierto tipo de pasos
dependiendo del software usado.
 Un programa puede grabar objetos persistentes y luego recuperarlos en un tiempo
posterior.

f. BIBLIOGRAFÍAS

Gonzáles, R. (2011b). Python para Todos [Libro electrónico]. Creative Commons


Reconocimiento 2.5 España.
Bell, D., & Parr, M. (2010). C# Para Estudiantes. Pearson. Recuperado de
https://profesorezequielruizgarcia.files.wordpress.com/2013/08/c-sharp-para-
estudiantes.pdf
Quintana, R. E. (2021, 28 abril). ¿Por qué Scala? Blog de Programación. Recuperado de

https://rodobarcaaa.github.io/es/post/scala-intro/

CLASES PERSISTENTES CON BASE DE DATOS EN PYTHON

Lo primero que debemos hacer es crear una conexión a la base de datos utilizando el método de
conexión. Después de eso, se necesitará un cursor que operará con esa conexión.

Se utiliza el método de ejecución del cursor para interactuar con la base de datos y, de vez en
cuando, confirme los cambios utilizando el método de confirmación del objeto de conexión.

Una vez hecho todo, se cierra el cursor y la conexión.

Ejemplo de clase Dbconnect:

import MySQLdb

class Dbconnect(object):

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

def __init__(self):

self.dbconection = MySQLdb.connect(host='host_example',
port=int('port_example'),
user='user_example',
passwd='pass_example',
db='schema_example')
self.dbcursor = self.dbconection.cursor()

def commit_db(self):
self.dbconection.commit()

def close_db(self):
self.dbcursor.close()
self.dbconection.close()

Interactuar con la base de datos es simple. Después de crear el objeto, simplemente use el método
de ejecución.
db = Dbconnect()
db.dbcursor.execute('SELECT * FROM %s' % 'table_example')

Para llamar a un procedimiento almacenado, use la siguiente sintaxis:

db = Dbconnect()
db.callproc('stored_procedure_name', [parameters] )

Una vez que se realiza la consulta, puede acceder a los resultados de varias maneras. El objeto del
cursor es un generador que puede obtener todos los resultados o ser enlazado.

results = db.dbcursor.fetchall()
for individual_row in results:
first_field = individual_row[0]

Para confirmar los cambios en la base de datos:

db.commit_db()

Si quieres cerrar el cursor y la conexión:

db.close_db()

CLASES PERSISTENTES CON BASE DE DATOS EN C#

Se puede aplicar generando de forma automática las sentencias SQL para la inserción,
modificación, borrado, y recuperación de datos. Para ello se utiliza un fichero XML en el que se
establece una correspondencia directa entre las clases y latabla que le corresponde en la base de

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)


lOMoARcPSD|8041189

datos. Así mismo, se establece una correspondencia entre cada atributo persistente de la clase y
el campo que le corresponde en la tabla.

La capa de persistencia encapsula completamente el acceso a datos de las aplicaciones siendo


posible trabajar con varios gestores de datos sin necesidad de cambiar el código.

Descargado por Joaquin - Muñoz (gaelmzl49@gmail.com)

También podría gustarte