Informe, clases persistente python, c#, scala
Enviado por kevin ynga medina • 9 de Diciembre de 2022 • Ensayo • 1.114 Palabras (5 Páginas) • 48 Visitas
[pic 1]
FACULTAD DE INGENIERIA
CARRERA INGENIERIA DE SISTEMAS E INFORMATICA
TAREA ACADEMICA 1
Clases Persistentes con Python, C# y Scala, resolución de ejercicios.
ALUMNO: YNGA MEDINA, KEVIN JONEL
DOCENTE: LUIS ENRIQUE ROJAS
CURSO: PROGRAMACION ORIENTADA A OBJETOS
LIMA, PERU 2022
INDICE
INTRODUCCION
DESARROLLO
Clases persistentes
a. Clases persistentes en Python
b. Clases persistentes en C#
c. Clases persistentes en Scala
CONCLUSIONES
BIBLIOGRAFIA
INTRODUCCION
El concepto de persistencia aparece en consecuencia de que los datos que se usan en programación son efímeros, estos son almacenados en la memoria con el ordenador encendido y al apagarse se pierden.
La persistencia se encarga de preservar la información de forma permanente para que pueda ser recuperada cuando se necesite.
DESARROLLO
Clases Persistentes.
La capa de persistencia está formada por un conjunto de clases y componentes encargados del almacenamiento y recuperación de datos, esta capa incluye un modelo de entidades del modelo de negocio.
Las clases persistentes son clases situadas en la capa de persistencia que implementan las entidades del negocio del problema. El termino clase persistente significa que los objetos de la clase son gestionados por el servicio de persistencia.
a. Clases persistentes en Python
Una clase persistente en Python es similar a una clase normal, cuando se termina la ejecución del programa se elimina el estado de los objetos contenidos.
En Python contamos con el módulo “pickle”, que nos sirve para guardar el estado de un objeto en un archivo.
Ejemplo:
-----------------------------------------------------------------------------------------
# Creamos una clase de prueba
class Persona:
def __init__(self,nombre):
self.nombre = nombre
def __str__(self):
return self.nombre
# Creamos la lista con los objetos
nombres = ["Héctor","Mario","Marta"]
personas = []
for n in nombres:
p = Persona(n)
personas.append(p)
# Escribimos la lista en el fichero con pickle
import pickle
f = open('personas.pckl','wb')
pickle.dump(personas, f)
f.close()
# Leemos la lista del fichero con pickle
f = open('personas.pckl','rb')
personas = pickle.load(f)
f.close()
for p in personas:
print(p)
Resultado:
Héctor
Mario
Marta
También podemos usar la librería “shelve” para hacer persistente una clase en Python, esta trabaja sobre “pickle” y permite almacenar objetos como un diccionario lo cual facilita su posterior lectura.
Ejemplo:
import shelve
d = {'var1':'desperados'}
d2 = {'var2':'coronita'}
# Escribimos los datos asociandoles 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])))
b. Clases persistentes en C#
Como en los demás lenguajes de programación la persistencia nos ayuda a guardar en la memoria secundaria del ordenador el código programado, para que se mantengan incluso después de la ejecución del programa.
[pic 2]
Para guardar una clase con persistencia se debe usar la etiqueta [Serializable] antes de la clase.
Ejemplo:
------------------------------------------------------------------
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
public class Persist02
{
int numero;
public void SetNumero(int n)
{
numero = n;
}
public int GetNumero()
{
return numero;
}
// Metodos para guardar en fichero y leer
...