Está en la página 1de 7

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA DE SISTEMAS E INFORMATICA

Tarea Académica 1:

Clases persistentes con Python, C# y Scala

AUTORES

Perez Yañez Julio Felipe


Mendoza Adauto Diego Alex

Curso:

Programación Orientada a Objetos

Ciudad de Lima - Perú

2021
INTRODUCCIÓN

Comenzando sobre la explicación, se da a entender que las clases persistentes son


clases que se aplican en la implementación de las entidades de un problema
empresarial (por ejemplo, Customer y Order en una aplicación de comercio
electrónico). Además, dichas clases son como un almacenamiento de atributos
que se desean declarar, como por ejemplo añadimos los atributos de una clase
animal, en el cual vendría a ser color, raza, edad, etc. Para que se llegue a entender
las clases de persistencia pueden guardarse al estilo como en una base de datos
mediante hibernación y leerse. En resumen, una vez que se persiste un objeto, una
vez que se cambia una determinada propiedad del objeto, las propiedades en la base
de datos también se cambiarán en consecuencia, de modo que el programador
pueda usar un enfoque completamente orientado a objetos para que
Manipule la base de datos sin tener que administrar algunas operaciones de la base
de datos. Ahora con la finalidad de enfocarse más en el tema, se investigó dichas
clases persistentes en tres diferentes de lenguajes de programación Python, C# y
Scala, de los cual en el presente trabajo se identificó ventajas y desventajas de cada
una de ellas, asimismo como la modalidad de uso y también el apoyo de la creación
de objetos aplicando dichas clases, finalizando con la vista de algunos ejercicios en los
tres diferentes lenguajes de programación y sacando nuestras diferentes conclusiones.

DESARROLLO

Clases Persistentes:
Las clases proveen una manera de empaquetar los datos y la funcionalidad en un solo
paquete. Al crear una nueva clase, se genera un nuevo tipo de objeto, permitiendo
generar nuevas instancias de este tipo. Cada instancia de la clase puede tener tantos
atributos adjuntos como sean necesarios para mantener su estado. Las
instancias de clase también pueden poseer métodos (definidos por una clase
propia) para modificar su estado.

En una aplicación, la capa de persistencia está formada por un conjunto de clases y


componentes que son responsables del almacenamiento y recuperación de los datos,
a y desde una o más fuentes de datos. Esta capa, necesariamente incluye un modelo
de las entidades del modelo del negocio al cual se desea aplicar la capa.

Las clases persistentes, por lo tanto, son clases encontradas en la capa de


persistencia que implementan a las entidades de negocio del problema (por ejemplo,
Cliente y Pedido en una aplicación).

La “persistencia de objetos” significa que los objetos individuales pueden "sobrevivir"


fuera del proceso de la aplicación que los creó. Esto significa que pueden ser
almacenados en un almacén de datos y ser recuperados más tarde cuando se
necesite la información.
A.- Clases persistentes en Python

Python. Es un lenguaje de programación, Python es una herramienta en la cual brinda


un soporte en programación orientada a objetos, imperativa y funcional.

Son definidas como una definidas como entidad que identifica una serie de elementos
que determinan datos y un comportamiento. Cuando se define una clase en Python, se
crea a su vez un tipo: int ,float, str, list, tuple,… todos ellos están definidos en las
clases.

La clase persistente: en Python es una similar a una clase normal o básica, la


diferencia es que se debe aplicar 4 reglas esenciales, de las cuales son:
 Implementación de un constructor sin argumentos, esto en base de ser un
constructor predeterminado en cual puede ser no público.
 Una propiedad de identificación o un id vendría a ser opcional, no obstante, no
afecta las clases.
 Clases no finales, estas clases no necesariamente ven a depender mucho de
la declaración de los métodos, públicos, también seria de manera opcional.
 La declaración de métodos también seria de manera opcional.

Beneficios y desventajas

A diferencia de la programación Python a otros lenguajes es que es mas sencillos de


utilizar y mas practico, tanto a la hora de la elaboración de la clase, debido a que solo
requiera una básica, los atributos, el constructor, métodos la declaración de métodos
seria opcional

Ejemplo:

class Persona:
def_init_(sleft, nombre, edad, correo, sexo):
self.nombre = nombre
self.edad = edad
self.correo = correo
self.sexo = sexo

def_srt_(self):
return ’Nombre: {}\nEdad: {}\nCorreo: {}\nSexo: {} ’.format
(self.nombre,self.edad,self.correo,self.sexo)

persona = Persona (‘Julio’,’22’,’Julio2205perez@gmail.com’,’masculino’)

print(persona)

B.- Clases persistentes en C#


Es un lenguaje de programación como el mas amigable, debido a que pueda entender
un ordenador. Su nombre viene la evolución del lenguaje C, que se creo en los
Laboratorios Bell, desarrollado por Dennis Ritchie, entre 1969 y 1972. Sus
características principales es la eficiencia del código.
Las clases C# se define de forma semejante a los registros (struct), solo que, en la
actualidad, además de variables que también incluirían funciones que son las acciones
que puede realizar ese objeto, que son identificados como métodos. Atributos y
métodos forman un todo, en vez de estar separados en distintas partes del programa.
Esto se le conoce como Encapsulación.
La clase persistente en C# mantiene las mismas funciones que en Python solo
tomando el detalle de que se implementa los atributos, declaración de los get y set, y
finalmente la implementación del constructor en dicha clase. Además, se debe tomar
en cuenta estas clases en este lenguaje de programación viene a aplicar las 4 reglas
mencionadas anteriormente:

 Implementación de un constructor sin argumentos, esto en base de ser un


constructor predeterminado en cual puede ser no público.
 Una propiedad de identificación o un id vendría a ser opcional, no obstante, no
afecta las clases.
 Clases no finales, estas clases no necesariamente ven a depender mucho de
la declaración de los métodos, públicos, también seria de manera opcional.
 La declaración de métodos también seria de manera opcional.
Beneficios y desventajas

Una de las ventajas de esta clase es que podemos obtener declaraciones en el


espacio de nombres, atributos, son miembros de una clase tiene un atributo de acceso
del tipo público, protegido, interno protegido y privado. En la inicialización se puede
poner de forma anónima la referencia a una clase. Por otra parte la desventaja que se
presentan son; los atributos privados que mayormente, se pueden ser invocados por
otra clase que tendrán que ser inicializada posteriormente.

Ejemplo:
using System;
public class Persona{
private string nombre;
private int edad;
private string nacimiento;

public string Nombre {get => nombre; set => nombre value; }
public string Edad {get => edad; set => edad value; }
public string Nacimiento {get => nacimiento; set => nacimiento value; }

public void crearPersona(string_nombre, int_edad, string_ nacimiento){


this.nombre = _nombre;
this.edad = _edad;
this.nacimiento = _nacimiento;
}
}

public class Program{


public static void Main(string [ ]args){
Persona p = new Persona ();
p.crearPersona(“Julio Felipe”, 22, “22-05-2000”);
Console.WriteLine(“Nombre: ”+p.Nombre+”Edad: ”+p.Edad+”Fecha
Nacimiento:”+p.Nacimiento);
}
}
C.- Clases persistentes en Scala
Scala es un lenguaje de programación mas actual que utilizar el multi-paradigma
diseñado para expresar patrones de programación comunes de una forma compacta y
con tipado seguro. Integra fácilmente sus características de lenguajes enfocados a la
programación orientada a objetos. El lenguaje es solo enfocado a la orientación de
objetos en el sentido de que todo se utiliza solo con objetos. Los tipos y
comportamientos de objetos son descritos por clases y traits que se puede traducir
como rasgos. Las cuales pueden ser extendidas a través de las subclases y un
mecanismo flexible de composición mezclada que da un claro remplazo de la herencia
múltiple.
En Scala, las clases son plantillas estáticas que pueden ser instanciadas por múltiples
objetos en tiempo de ejecución. Como ejemplo en la estructura de la clase, se puede
observar que dicha clase define dos variables que pueden ser diferentes X y Y, y dos
métodos: move y ToString.
El método move recibe dos argumentos de tipo entero, pero no retorna ningún valor
implicando su retorno con tipo Unit, el cual corresponde a void en el lenguaje Java. El
ToString, por otro lado, no recibe ningún parámetro, pero retorna un valor de tipo
String. Ya que el ToString hacer una sobreescritura del método toString predefinido en
una superclase, tiene que ser anotado con override.
Las clases en Scala son parametrizadas con argumentos con método constructor.
Ejemplo:
Class Usuario(var nombre : String, var edad : Int);
object Program{
def main(args : Array[String ]){
var Usuario = new Usuario(“Julio Perez”,22);
println(Usuario.nombre);
println(Usuario.edad)
}
}

El programa hace la definición de una aplicación ejecutable a través del método del
objeto
Singleton classes: el método main crea un nuevo Point y lo almacena en p.
Clases persistente: una clase persistente en Scala se define como una clase con
atributos básicos, en el cual serán declarados y posteriormente llamados por un
objeto, en el cual invoca los parámetros y los imprimirá. Además, también este
lenguaje viene a respetar 4 puntos para utilizar la clase persistente:
 Implementando de un constructor sin argumentos, esto base de ser un
constructor predeterminado en cual puede ser no público.
 Una propiedad identificadora o un id, esto vendría a ser opcional, aunque no
afecte las clases.
 Clases no finales, aunque estas van a depender mucho de la declaración de
los métodos públicos, también seria opcional.
 Declaración de métodos, también vendría a ser opcional.

Beneficios y desventajas
Al aplicar una clase persistente en Scala.
Las ventajas que es presentan pueden ser las siguientes: poder utilizar cualquier
método como operador infijo.

Conclusión:
En conclusión, con los tres lenguajes de programación que se pidieron investigar, las
clases persistentes tanto en los tres lenguajes de programación comparte cuatro
reglas fundamentales en las que Implementación de un constructor sin argumentos,
esto en base de ser un constructor predeterminado el cual puede no ser forzadamente
público. Una propiedad identificadora o en otras palabras un id, esto vendría a ser
opcional, ya que no afecte las clases. Clases no finales, aunque estas van a depender
mucho de la declaración de los métodos públicos, también vendría a ser de carácter
opcional. Declaración de métodos, también vendría a ser opcional. Además, de los
tres lenguajes de programación, la clase persistente permite que a la hora de la
privatización de los atributos y de la declaración de ellos, debido a que, para la
estructura de un programa, es recomendable privatizar los atributos para solo que el
acceso sea por parte del que ejecute el código.
Referencias:

 Hernández, A., Álvarez, S. (2000). CAPA PERSISTENTE DE CLASES PARA


ELALMACENAMIENTO DE OBJETOS, Informática, Vol. (1), 58 – 61.
https://dialnet.unirioja.es/descarga/articulo/4786775.pdf

 Capitulo 4. Clases persistentes. (n.d.). HIBERNATE.


https://docs.jboss.org/hibernate/orm/3.5/reference/es-ES/html/persistent-
classes.html

También podría gustarte