Tarea Académica 1 - POO Clases persistentes en Python
Perico PeriquinDocumentos de Investigación2 de Diciembre de 2022
1.948 Palabras (8 Páginas)122 Visitas
[pic 1]
[pic 2]
Tarea Academica 1 POO
Programación Orientada a Objetos (Universidad Tecnológica del Perú)
Studocu no está patrocinado ni avalado por ningún colegio o universidad.
[pic 3]
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA DE SISTEMAS E INFORMATICA
Tarea Académica 1:
Clases persistentes con Python, C# y Scala
AUTORES
- CABRERA ALCALÁ, KEYLA U20201247
- GIRON FLORES, AAROM LEANDRO U20202137
- MONAGO JANAMPA, YADHIRA BRENDA U18214200
- REQUIN QUISPE, TAYLI TATIANA U20209139
Docente:
MARLENE PILAR AGUILAR
Curso: Programación Orientada a Objetos
Ciudad de Lima - Perú 2022[pic 4]
ÍNDICE
- INTRODUCCIÓN 3
- DESARROLLO 3
- Clases persistentes 3
- Clases persistentes en Python 3
- Ejemplos de prácticos 4
- Clases persistentes en C# 5
- Ejemplos de prácticos 6
- Clases persistentes en Scala 7
- Ejemplos de prácticos 8
- CONCLUSIONES 9
- REFERENCIAS 9
Introducción
El acceso a la información en un inicio era una misión de muy bajo nivel, se realizaba en cinta magnética o tarjetas perforadas por un gran sistema monolítico. A medida que los sistemas se vuelven más complejos, se han necesitado mayores niveles de abstracción. Esto condujo a la propuesta de una separación entre el acceso a datos y su procesamiento. Actualmente, la práctica se aplican sistemas información distribuida, interoperable, con fuentes de datos heterogéneas y con gran capacidad de almacenamiento. Sin duda, la orientación a objetos se convirtió en el modelo dominante para el desarrollo de este tipo de sistema. En este contexto, el mecanismo utilizado para acceder a los datos es de vital importancia, no sólo por su impacto en el rendimiento 昀椀nal del sistema, sino también para asegurar atributos de calidad deseados como mantenibilidad, reutilización, escalabilidad, etc. De esta forma se empieza a utilizar la persistencia.
Desarrollo
Clases persistentes
La persistencia es la capacidad de guardar información de un programa para que pueda ser reutilizada en otro momento. Esto es lo que los usuarios llaman guardar el archivo y luego abrir un archivo. Pero para el programador, puede signi昀椀car más que eso y, a menudo, incluye la concatenación de datos en un archivo, una base de datos u otro medio similar, y el proceso inverso de acceder a ellos: sacar los datos de la información concatenada. Las clases se utilizan para agrupar datos
y funciones. La creación de una nueva clase crea un nuevo tipo de objeto, lo que le permite crear nuevas instancias de ese tipo. Cada instancia puede tener una clase de propiedades asociadas para mantener su estado. Las instancias de clase también pueden tener métodos para modi昀椀car su estado. En una aplicación, la capa de persistencia consta de un conjunto de clases y componentes que son responsables de almacenar y recuperar datos, hacia y desde una o más fuentes de datos. Esta categoría
incluye necesariamente una plantilla para entidades de modelo de negocio. Por lo tanto, las clases de continuidad son las clases
de continuidad que implementan las entidades comerciales problemáticas. La persistencia de objetos signi昀椀ca que los objetos individuales pueden "existir" fuera del proceso de aplicación que los creó.
Esto signi昀椀ca que puede almacenarse en un almacén de datos y recuperarse en un momento posterior.
Clases persistentes en Python
El término clase persistente signi昀椀ca que los objetos de esa clase y su estado son gestionados por el servicio de persistencia.
La persistencia es la acción que permite conservar la información de un objeto de forma permanente, pero también permite recuperarla. Para esto existe algo conocido como serialización de objetos. Esta consiste en generar una secuencia de bytes para su almacenamiento. Después mediante la deserialización, el estado original del objeto se puede reconstruir.[pic 5]
Esto es posible hacerlo en Python mediante el módulo pickle que implementa protocolos binarios para serializar y deserializar una estructura de objetos. Asimismo, tiene un módulo de serialización más primitivo llamado marshal, pero en general pickle debería ser siempre la forma preferida de serializar objetos de Python. Marshal existe principalmente para soportar archivos Python .pyc.
Otra forma de hacer persistente un objeto es con la librería Shelve de Python. Esta librería trabaja sobre pickle y permite almacenar objetos como un diccionario. Es muy útil cuando queremos guardar muchos objetos y posteriormente acceder solo a algunos de ellos.
Por último, para serializar una jerarquía de objetos, se realiza mediante la función dumps(). De manera similar, para deserializar un 昀氀ujo de datos, se llama a la función loads(). Sin embargo, si desea tener más control sobre la serialización y la deserialización, se puede crear un objeto Pickler o Unpickler, respectivamente.
Ejemplo práctico[pic 6][pic 7]
Ejecución
Descargado por Raigan De Rosa (nekuria15@gmail.com)
[pic 8][pic 9][pic 10][pic 11]
5
Clases Persistentes en C#:
C# es un lenguaje de programación el cual es simple, e昀椀caz y seguro, está orientado a objetos, y para compilar diversas aplicaciones que se ejecutan en
.NET Framework. Asimismo, es parecido a Java, pero incluye mejoras propias de otros lenguajes. Ahora el lenguaje admite los conceptos de encapsulación, herencia y polimor昀椀smo y facilita el desarrollo de componentes de software mediante varias construcciones de lenguaje innovadoras.
En una clase se pueden crear varios objetos, de la misma forma esta clase está compuesta por atributos y métodos, también pueden instanciar clases, más conocida como objetos, los cuales pueden extraer sus métodos o atributos de la clase derivada, la cual pasara a llamarse clase base.
[pic 12]
La persistencia de clases tiene como función preservar la información de forma permanente para que pueda recuperarse cuando sea necesario. Para ello, se puede usar la serialización para conservar los datos de un objeto entre instancias. En C# esta clase persistente es semejante a la de Python solo que en esta incluye atributos, implementación de los setter y getter y 昀椀nalmente su constructor. Para adquirir esto solo se debe tener guardado un archivo pero no en "昀椀chero convencional", en caso contrario de no tener uno se debe proceder a crear una y a guardar un archivo y pedir al sistema que conserve el estado de estos objetos, por ejemplo para guardar una clase completa con todos sus elementos utilizamos [Seralizable], para así al momento de querer utilizarlo en otra clase, solo deberíamos de llamar al archivo, por ejemplo, escribimos using System.IO al inicio, luego para llamar o identi昀椀car al archivo guardado se escribe FileStream.
...