Está en la página 1de 9

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA DE SISTEMAS E INFORMATICA

Tarea Académica 1:
Clases persistentes. Python, C# y Scala

AUTORES
• Jorge Luis Cano Cullcush

Docente
Willabaldo Marcelino Estrada

Curso:
Programación Orientada a Objetos

Ciudad de Lima - Perú


2022

1
ÍNDICE
I. INTRODUCCIÓN
Comenzando sobre la explicación del tema investigado, damos a entender
que las clases persistentes son clases en una aplicación que implementan las
entidades del problema empresarial (por ejemplo, Customer y Order en una
aplicación de comercio electrónico). También dichas clases son como un
almacenamiento de los atributos que se desean declarar, como por ejemplo
añadimos los atributos de una clase perro, en el cual vendría a ser color, raza,
edad, etc. Para que se llegase a entender las clases de persistencia pueden
guardarse al estilo como de 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 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 tipos de lenguajes de programación Python, C# y Scala,
de lo cual en el presente trabajo se identificó las ventajas y desventajas de
cada una de ellas, así también 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.
II. DESARROLLO
Python. El lenguaje de programación, Python es una herramienta en la cual
brinda un soporte en programación orientada a objetos, imperativa y
funcional, aplicando un lenguaje de programación se pueden crear
aplicaciones nativas e híbridas, y cuenta con una sintaxis accesible para las
personas con un nivel de 'alfabetización’ básico en lenguajes de
programación.
Clases y Objetos en Python. Son definidas como una entidad que identifica
una serie de elementos que determinan un estado (datos) y un
comportamiento (operaciones sobre los datos que modifican su estado).
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 una clase, estos tipos son
mayormente identificados como atributos de una clase. Para definir una clase
en Python se utiliza la palabra reservada class. En el siguiente esquema
podemos visualizar la estructura de una clase y sus tributos en Python.
Clase Persistente. Una clase persistente en Python es similar a una
clase normal o básica, con la diferencia que se debe aplicar cuatro
reglas esenciales, de lo cual son la siguientes:

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


de ser un constructor predeterminado en cual puede ser no
público.
• Una propiedad identificadora o en otras palabras 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 vendría a ser
opcional.
• Declaración de métodos, también vendría a ser opcional.

Ventajas y Desventajas al aplicar una Clase Persistente en Python.


A diferencia de otros lenguajes de programación Python es más
sencillo y practico tanto en la hora de la elaboración de la clase, debido
a que solo requiere una estructura básica, los atributos, el constructor,
métodos, la declaración de métodos vendría a ser opcional. Por otro
lado, la desventaja mayor en Python en las clases persistentes, a
diferencia de otros lenguajes, en los que está permitido implementar
más de un constructor, en Python solo se puede definir un método
__init__ ().
C#. Es un lenguaje de programación identificado como el más humano,
debido a que puede entender un ordenador. Su nombre viene de
evolucionar un lenguaje anterior “Lenguaje de programación C”, que se
creó en los Laboratorios Bell, desarrollado originariamente por Dennis
Ritchie, entre 1969 y 1972. Su característica principal es la eficiencia
del código, y es empleado para crear sistemas operativos, aplicaciones
e incluso juegos.

Clases y Objetos en C#. Las clases en C# se definen de forma


parecida a los registros (struct), sólo que ahora, además de variables
(que representan sus detalles internos, y que llamaremos sus
"atributos"), también incluirán funciones que son las acciones que
puede realizar ese objeto, que son identificadas como métodos.
Atributos y métodos formarán parte de "un todo", en vez de estar
separados en distintas partes del programa. Esto es lo que se conoce
como "Encapsulación". Podemos observar un ejemplo de la estructura
de la clase en C#.
Clase Persistente. Una clase persistente en C# abarca las mismas funciones
que en Python solo tomando el detalle de que se implementaría los atributos,
declaración de los get y set y finalmente implementación del constructor en
dicha clase. Además, se debe tomar en cuenta que estas clases en este
lenguaje de programación viene a aplicar las cuatro reglas esenciales ya
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 identificadora o en otras palabras 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 vendría a ser
opcional.
• Declaración de métodos, también vendría a ser opcional.

Ventajas y Desventajas al aplicar una Clase Persistente en C#.


Una de las ventajas que podemos obtener en estas clases son; Declaraciones
en el espacio de nombres, Atributos, son miembro de una clase tiene un
atributo de acceso del tipo público, protegido, interno, interno protegido y
privado. Inicializador, un inicializador es como una propiedad, con la
diferencia de que, en lugar de un nombre de propiedad, un valor de índice
entre corchetes se utiliza en forma anónima para hacer referencia al miembro
de una clase. Por otra parte, la desventaja que se presentan es; los atributos
son privados mayormente, en las cual para poder ser invocados por otra clase
tendrán que ser inicializados posteriormente.

Scala. Es un lenguaje de programación moderno multi-paradigma


diseñado para expresar patrones de programación comunes de una
forma concisa, elegante, y con tipado seguro. Integra fácilmente
características de lenguajes orientados a objetos y funcionales. Este
lenguaje es puramente orientado a objetos en el sentido de que todo
es un objeto. Los tipos y comportamientos de objetos son descritos por
clases y traits (que podría ser traducido como un “rasgo”). Las clases
pueden ser extendidas a través de subclases y un mecanismo flexible
de composición mezclada que provee un claro remplazo a la herencia
múltiple.
Clases y Objetos en Scala. En Scala, las clases son plantillas
estáticas que pueden ser instanciadas por muchos objetos en tiempo
de ejecución. Como por ejemplo en la estructura de esta clase, se
puede observar que dicha clase define dos variables x e y, y dos
métodos: move y toString. El método move recibe dos argumentos de
tipo entero, pero no retorna ningún valor (implícitamente se retorna el
tipo Unit, el cual se corresponde a void en lenguajes tipo Java).
toString, por otro lado, no recibe ningún parámetro, pero retorna un
valor tipo String. Ya que toString sobre escribe el método toString
predefinido en una superclase, tiene que ser anotado con override.
Las clases en Scala son parametrizadas con argumentos constructores
(inicializadores). En el código anterior se definen dos argumentos
constructores, xc y yc; ambos son visibles en toda la clase. En el
presente ejemplo son utilizados para inicializar las variables x e y.
Ahora para instanciar una clase es necesario usar la primitiva new, para
el cual sea ejecutado el programa.

El programa define una aplicación ejecutable a través del método main


del objeto singleton Classes. El método main crea un nuevo Point y lo
almacena en pt.
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 invocará los
parámetros los imprimirá. Además, también este lenguaje de
programación viene a respetar los cuatro puntos para una clase
persistente:
• Implementación de un constructor sin argumentos, esto en base
de ser un constructor predeterminado en cual puede ser no
público.
• Una propiedad identificadora o en otras palabras 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 vendría a ser
opcional.
• Declaración de métodos, también vendría a ser opcional.
Ventajas y Desventajas al aplicar una clase persistente en Scala.
Las ventajas que se presentan pueden ser las siguientes; poder utilizar
cualquier método como operador infijo "% d manzanas". El formato
(num) y el formato "% d manzanas" son equivalentes. Los operadores
aritméticos como + y << se tratan como cualquier otro método, ya que
se permite que los nombres de las funciones consistan en una
secuencia de símbolos arbitrarios. Los métodos de aplicación y
actualización tienen formas cortas. Foo () donde foo es valor (objeto
singleton o instancia de clase). Por otra parte, la desventaja que
presenta es, los atributos no son privatizados debido a que se puede
acceder con mucha facilidad, teniendo en cuenta que eso no es muy
bueno en la elaboración de la estructura de un código.

III. CONCLUSIONES
En conclusión, con los tres lenguajes de programación que se pudo investigar,
las clases persistentes tanto en los tres lenguajes de programación comparte
cuatro reglas importantes en las que Implementación de un constructor sin
argumentos, esto en base de ser un constructor predeterminado en cual
puede ser no público. Una propiedad identificadora o en otras palabras 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 vendría a ser 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 ayuda en 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 que solo el acceso sea por parte
del que ejecute el código.
IV. REFERENCIA
• Hernández, A., Álvarez, S. (2000). CAPA PERSISTENTE DE CLASES
PARA EL ALMACENAMIENTO DE OBJETOS, Informática, Vol. (1), 58 – 61.
https://dialnet.unirioja.es/descarga/articulo/4786775.pdf
• Capítulo 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