Sei sulla pagina 1di 6

Programación orientada a objetos

Proyecto final “parqueadero”

Autor 1: Diego Alejandro Gómez Gaviria Autor 2: Juan Esteban Ruiz Hernandez
Risaralda, Universidad Tecnológica de Pereira, Pereira, Colombia
Correo-e: Juan-16-rh@utp.edu.co, alejogomezg@utp.edu.co
Resumen— Key Word — paradigm, instanciada una variable.
La programación orientada abstraction, methods, Generalmente el constructor
characteristics Como podemos ver esta se llama igual que la clase y
a objetos es un paradigma clase no sólo describe que no devuelve ningún valor.
que utiliza objetos como cosas posee un coche, sino Análogamente destructor es
elementos fundamentales en I. INTR que también describe que un método perteneciente a
la construcción de la ODUC acciones puede realizar un una clase que es ejecutado de
solución. Surge en los años CIÓN coche (acelerar, frenar y forma automática cuando un
70. Un objeto es una girar). Es decir, una clase objeto es destruido. Java no
Si nos fijamos en la vida real define los atributos y las soporta los destructores. Es
abstracción de algún hecho
podremos apreciar que casi acciones (o métodos) que posible que exista más de un
o ente del mundo real que todo se compone de objetos puede realizar un objeto de constructor en una clase,
tiene atributos que (coche, lapicero, casa y, por la clase. diferenciados sólo en los
representan sus qué no, personas). Todos parámetros que recibe, pero
características o entendemos que tanto un Además, podemos comprobar en la instanciación sólo será
propiedades y métodos que BMW verde como un SEAT que un objeto puede estar utilizado uno de los
representan su rojo son coches, pero son formado por otros objetos, constructores.
distintos en su aspecto físico. por ejemplo, el coche posee 4
comportamiento o acciones
Pero a pesar de esa diferencia objetos de la clase Rueda.
que realizan. Todas las Es recomendable emplear el
de aspecto entendemos que
propiedades y métodos constructor para inicializar
ambos tienen unas En el mundo real los objetos las variables internas del
comunes a los objetos se características comunes como se relacionan entre sí, un objeto, o para obtener
encapsulan o se agrupan en son poseer ruedas, un objeto puede pedir a otro que recursos, mientras que el
clases. Una clase es una volante, asientos, Esas realice alguna acción por él. destructor se suele emplear
plantilla o un prototipo para características comunes son En la vida real una persona para liberar esos recursos
las que hacen pensar en el acelera, pero lo hace
crear objetos; por eso se dice obtenidos en el constructor.
concepto coche en ambos pidiéndoselo al coche, que es
que los objetos son casos. A partir de ahora quien realmente sabe Imaginemos ahora un
instancias de clases. podemos interpretar que el acelerar, no la persona. El televisor, nosotros que
BMW y el SEAT son objetos, hecho de que un objeto llame
y el tipo o clase, de esos poseemos el mando A
a un método de otro objeto se distancia/Online podemos
objetos es coche. indica diciendo que el primer
Palabras clave— manejar el volumen del
paradigma, abstracción, objeto ha enviado un mensaje televisor, pero no nos haría
métodos, características Además, podemos suponer al segundo objeto, el nombre gracia que otra persona
que la clase de un objeto del mensaje es el nombre de pudiese manejar el volumen a
describe como es dicho la función llamada.
Abstract— Object-oriented su antojo. Lo mismo sucede
objeto.
programming is a paradigm con objetos: un objeto que no
that uses objects as Podemos interpretar que una quiere que otro objeto llame a
fundamental elements in Por ejemplo: clase es el plano que describe un método o acceda a un
building the solution. It como es un objeto de la clase, atributo debe de definir a
emerged in the 1970s. An clase Coche: por tanto, podemos entender dichos atributos y métodos
object is an abstraction of que a partir de la clase como privados. En cambio, si
some real-world fact or podemos fabricar objetos. los definimos como públicos
4 ruedas Ese objeto construido se le
entity that has attributes that cualquier objeto podrá
represent its characteristics denomina instancia, y al utilizarlos.
or properties and methods 1 volante proceso de construir un
that represent its behavior objeto se le llama Pensemos ahora en un coche
or actions they perform. All instanciación. deportivo y en un coche
properties and methods 5 asientos utilitario, ambos son coches,
common to objects are Cuando se construye un pero hacemos la distinción
encapsulated or grouped objeto es necesario dar un deportivo y utilitario porque
acelerar
into classes. A class is a valor inicial a sus atributos, son diferencias lo
template or prototype for es por ello que existe un suficientemente importantes
creating objects; that's why frenar método especial en cada para ser tenidas en cuenta,
objects are said to be clase llamado constructor, el pero no tanto como para
instances of classes. cuál es ejecutado de forma pensar que uno es un coche,
girar automática cada vez que es pero el otro no. Esta situación
2

se interpreta pensando en que clase derivada, pero antes de Este hecho de que un objeto salida del vehículo y facturar
existen dos clases: Deportivo comenzar a ejecutarse se pertenezca a una clase, pero el cobro según la fecha y la
y Utilitario, pero que ambas, llama al constructor de la que pueda cumplir uno o más hora de salida. El programa
además de sus propias clase base, que tras ejecutarse interfaces es muy similar al debe reportar a petición del
características (atributos y continua la ejecución del hecho de que una persona (un usuario cuantos vehículos
métodos) poseen las de la constructor de la clase objeto) es hija (un interfaz), están estacionados. También
clase coche, esto es la derivada. posiblemente tía (otro debe permitir buscar en que
herencia. Denominaremos interfaz) o incluso abuela parqueadero se encuentra
clase base a la clase de la Se puede elegir que (otro interfaz). Con esto lo buscándolo por la placa.
cuál heredamos y derivada a constructor de la clase base que se indica es que un
la clase que hereda de la es llamado, generalmente interfaz sólo tiene interés III. RECU
clase base. llamando al método super(), para quien lo necesite usar, es RSOS
que representa al constructor decir el interfaz tío sólo lo UTILI
Existen dos tipos de herencia de la clase base, pero al pasar necesitan los objetos ZADA
sencilla y múltiple. Sencilla parámetros distintos sobrinos, no un objeto de tipo S EN
significa que sólo heredamos seleccionamos que policía. EL
de una clase base, mientras constructor de la clase base PROY
que múltiple indica que queremos llamar. Esta característica de que ECTO
tenemos varias clases base varios objetos de distintas
(por ejemplo, un hidroavión Supongamos ahora que clases puedan recibir el Listas: Una lista es una
hereda de barco y de avión). tenemos algo que es capaz de mismo mensaje y son estructura de datos y un tipo
Java sólo soporta herencia encenderse, de apagarse, de capaces de responderlo, es de dato en python con
simple. iniciar una reproducción, de conocido como características especiales. Lo
parar una reproducción, sin polimorfismo. especial de las listas en
Al utilizar la herencia duda todos pensamos en un Python es que nos permiten
aparecen dos conceptos: reproductor, pero por esa II. OPCI almacenar cualquier tipo de
super y this, this representa al descripción encajan objetos ON valor como enteros, cadenas
objeto completo, en cambio como reproductor de cassete, DEL y hasta otras funciones.
super sólo representa la parte reproductor de CD, el vídeo, PROY
heredada de la clase base. ECTO Un Diccionario es una
Llamaremos a la descripción (PARQ estructura de datos y un tipo
Cuando se hereda nos interfaz, y los objetos que UEAD de dato en Python con
encontramos frente a un cumplen ese interfaz (es ERO) características especiales que
pequeño problema: ¿Qué decir, tienen todas las nos permite almacenar
sucede cuando se hereda un funciones que definen el 10 – Programa de cualquier tipo de valor como
método de la clase base, el interfaz) diremos que parqueadero. Este programa enteros, cadenas, listas e
cuál estamos redefiniendo en implementan el interfaz. permite controlar un incluso otras funciones.
la clase derivada? Esto es un Pensemos ahora en el hecho parqueadero con 15 espacios
caso de sobreescritura de que una persona que sabe para vehículos. Mediante el If, Elif, Else: Estas
métodos. La solución es iniciar una reproducción de programa el usuario debe construcciones permiten
simple, cuando estemos un CD también sabe iniciar poder ingresar un vehículo condicionar la ejecución de
ejecutando el método de un una reproducción de video, con la fecha y la hora, así uno o varios bloques de
objeto derivado se llamará al en ambos casos debe de como el cobro por horas de sentencias al cumplimiento
método de su propia clase, es encender el objeto, iniciar la estacionamiento de cada de una o varias condiciones.
decir el redefinido. Si lo que reproducción, parar la vehículo. El cobro se realiza
se quiere es emplear el reproducción y apagar el según el tipo de vehículo, Funciones: Una función es
método de la clase base hay reproductor. Eso significa bien sea sedan, camioneta, un bloque de código con un
que emplear una técnica que que para la persona es deportivo o microbús. nombre asociado, que recibe
consiste en usar: transparente el tipo (clase) Existirán métodos que cero o más argumentos como
super.método(). real del objeto reproductor permitan asignar un vehículo entrada, sigue una secuencia
que posea, ya que la persona a un espacio de parqueo, de sentencias, la cuales
Los constructores no son sabe que puede ponerlo en sacar un vehículo de un ejecuta una operación
heredados, pero sí llamados. marcha, apagarlo, sin espacio de parqueo y mover deseada y devuelve un valor
Es decir, cuando se construye necesidad de conocer la clase un vehículo de un espacio de y/o realiza una tarea, este
un objeto de la clase derivada real, tan sólo debe de saber parqueo a otro. También debe bloque puede ser llamados
se llama al constructor de la que es un objeto del tipo ser capaz de registrar la cuando se necesite.
reproductor.
3

La segunda clase llamada tipo (sedan, camioneta,


Clases y objetos: las clases y Parqueadero ( ) y esta clase deportivo, microbús) en el
los objetos sirven para crear tiene como atributos los parqueadero también en casi
tu propio tipo de datos (es siguientes (carros, posición) de ser un día cobrara el día.
decir, tipos de datos definidos también tienen los siguientes
por el usuario). Una clase es métodos (asignar_posicion, VI. CONC
un tipo de dato definido por mostrar, buscar_por_placa, LUSIO
el usuario, y la crear sacar_vehiculo, NES
instancias de una clase hace mover_de_posicion,
relación a la creación de facturar). La programación orientada a
objetos de ese tipo. Las objetos es otra forma de ver
clases y los objetos son la programación, basándonos
considerados los principales V. METO en objetos que contienen los
bloques de desarrollo para DOS datos necesarios para poder
Python, el cual es un lenguaje realizar procedimientos de
de programación orientado a El método cobro_hora nos programación más fáciles
objetos. permite guardar en un permitiéndonos analizar y
diccionario los costos por efectuar cualquier problema
While: En Python tiene una tipo de vehículo (por hora). más eficientemente.
palabra reservada
llamada while que nos El método cobro_dia nos Con este tipo de
permite ejecutar ciclos, o permite guardar en un programación (orientada a
bien secuencias periódicas diccionario los costos por bojetos) nos permite
que nos permiten ejecutar tipo de vehículo (por día). desarrollar programas mas
código múltiples veces. El complejos y a la vez fáciles
ciclo while nos permite El método asignar_posicion de entender, permitiendo que
realizar múltiples iteraciones nos permite asignar un objeto en un futuro si se debe hacer
basándonos en el resultado de con la clase vehículo a un alguna modificación sea
una expresión lógica que espacio de la lista posición. mucho más fácil de encontrar
puede tener como resultado y resolver así el programa lo
un valor True o False. El método mostrar muestra hiciera otra persona.
el estado de la lista posicion
For la sentencia for de para saber el estado del
parqueadero (libre o la placa VII. REFE
Python itera sobre los ítems RENC
de cualquier secuencia (una del vehiculo que ocupa esa
posición del parqueader). IAS
lista o una cadena de
caracteres), en el orden que
aparecen en la secuencia. El método
buscar_por_placa funciona [1]
para determinar en qué https://devcode.la/tutoriales/
espacio del parqueadero se diccionarios-en-python/
encuentra el vehículo.
IV. PROC [2]https://uniwebsidad.com/l
ESO El método sacar_vehiculo ibros/python/capitulo-
funciona para sacar un 5/programacion-orientada-
En este programa se tienen vehículo de un espacio de a-objetos
dos clases: parqueadero.

La primera clase llamada El método


Vehículo ( ) y esta clase mover_de_posicion funciona
contiene como atributos los para mover de posición un
siguientes (placa, fecha, objeto vehículo de una
hora_entrada, tipo_carro, posición a otra.
espacio) también tienen los
siguientes métodos El método Facturar nos
(cobro_hora, cobro_día). permite mirar cuantas horas
estuvo el vehículo según su
4
5

Potrebbero piacerti anche