Informe
Informe
NOMBRES Y APELLIDOS:
MELANY ANDREA MERO RIVERA
MATERIA:
PROGRAMACIÓN ORIENTADA A OBJETOS
PARALELO:
“B”
PROFESOR:
ING. PATRICIO LOOR.
CORREO:
[email protected]
PROGRAMACIÓN ORIENTADA A OBJETOS
• Clases, objetos, atributos y métodos.
✓ Dentro de una clase tenemos objetos atributos y métodos entre otros:
Clases y objetos
Una clase es una herramienta que tenemos para modelar objetos de programación, lograr
que se comporten como queremos y hacer tantas copias de estos objetos como necesitemos.
Los métodos son aquellas funciones que permite efectuar el objeto y que nos rinden algún
tipo de servicio durante el transcurso del programa.
Determinan a su vez como va a responder el objeto cuando recibe un mensaje.
Atributos son características que aplican al objeto solo en el caso en que él sea visible en
pantalla por el usuario; entonces sus atributos son el aspecto que refleja, tanto en color,
tamaño, posición, si está o no habilitado.
• Constructores y destructores.
Constructor
Normalmente necesitamos inicializar alguno de los atributos miembro de un objeto, o todos,
cuando se declara el objeto. Para realizar la inicialización de los atributos, al definir una clase
se utiliza un tipo especial de función miembro, ésta se llama constructor. Cuando se crea un
objeto de una clase, se ejecutará automáticamente la función miembro constructor. El
constructor se utilizará por lo tanto para inicializar los atributos miembros que se deseen de
un objeto y para realizar algún otro tipo de inicialización que el usuario crea necesaria.
Un constructor realiza como cualquier otra función miembro, teniendo en cuenta dos
particularidades: La función constructor debe tener el mismo nombre que la clase. Por
ejemplo, en la clase teléfono, su constructor sólo puede llamarse Teléfono.
Los constructores deben definirse siempre de tipo public; ya que, de otra forma, no podríamos
declarar ningún objeto como instancia de esa clase, al no poder invocarse a su constructor.
Para declarar e inicializar objetos de la clase Telefono se escribe el nombre de la clase
(nombre del tipo) y el nombre del nuevo objeto a declarar.
Constructor predeterminado, por defecto o por omisión. Es aquel constructor que no
requiere ningún argumento. Se aplica en el caso predeterminado donde se declara un objeto
sin especificar argumentos. Si no incluimos ningún constructor en una clase, el compilador
generará un constructor predeterminado que inicializará los atributos miembros con los
valores por defecto.
Constructor parametrizado u ordinario. Crea una nueva instancia de la clase e inicializa
los datos miembros con los valores incluidos en la declaración. Pueden existir distintos
constructores de este tipo, dependiendo del número de parámetros que incluyan en su
definición.
Destructor
Al igual que a veces es necesario realizar inicializaciones u otro tipo de acciones al crear un
objeto, a veces necesitamos realizar ciertas acciones cuando el objeto se destruye. Una de
las ocasiones en las que se hace necesario el uso de un destructor es cuando se necesita
liberar los recursos previamente reservados. Algunos lenguajes orientados a objetos no
definen explícitamente destructores para sus objetos, sino que utilizan otros mecanismos
para la liberación de los recursos consumidos por los objetos.
Los métodos constructores y destructores no se invocan específicamente desde el programa,
es el compilador el que realiza dicha invocación. En el caso del constructor se realiza
cuando se crea un objeto y en caso del destructor cuando finaliza el ámbito de un objeto, es
decir, cuando se sale de la función donde ha sido creado el objeto o cuando se elimina
explícitamente dicho objeto.
• Herencia y polimorfismo.
Herencia
Permite que la clase herede características y comportamiento (atributos y métodos) de otra
clase (clase padre o superclase). A su vez, la clase define características y comportamiento
propio Ejemplo. Se define lo común en una clase Figura y las clases Triángulo y Círculo lo
heredan
Si no se especifica una superclase con extends, extiende por defecto la clase Object.
Los atributos declarados en la superclase los hereda la subclase, pero al ser privados son
accesibles sólo en métodos de la clase que los declara. En la subclase accederlos a través de
getters y setters públicos heredados.
❖ La subclase hereda métodos de instancia.
❖ La subclase puede declarar nuevos atributos.
❖ La subclase puede declarar nuevos métodos.
❖ La subclase puede declarar constructores propios
Los constructores no se heredan, las subclases deben definir su propio constructor
normalmente será necesario inicializar los atributos de la superclase, para ello se llama a su
constructor desde el de la subclase, la llamada a “super” debe ser la primera instrucción del
constructor de la subclase
Polimorfismo
El polimorfismo en Java consiste en dos propiedades:
Una referencia a una superclase puede apuntar a un objeto de cualquiera de sus subclases.
La operación se selecciona en base a la clase del objeto, no a la de la referencia
Las operaciones polimórficas son aquellas que hacen funciones similares con objetos
diferentes Ejemplo: suponer que existe la clase Figura y sus subclases - Círculo - Cuadrado
- Polígono Todas ellas con las operaciones: - dibuja - borra
El polimorfismo nos permite abstraer operaciones, podemos invocarlas sin preocuparnos de
las diferencias existentes para objetos diferentes, el sistema elige la operación apropiada al
objeto. El polimorfismo se asocia a las jerarquías de clases, una superclase y todas las
subclases derivadas de ella directa o indirectamente.
Polimorfismo es la capacidad que tienen los objetos de una clase en ofrecer respuesta
distinta e independiente en función de los parámetros (diferentes implementaciones)
utilizados durante su invocación. Dicho de otro modo, el objeto como entidad puede
contener valores de diferentes tipos durante la ejecución del programa, también suele
definirse como ‘Sobrecarga de parámetros’.
ArrayList
ArrayList es una colección (Collection): objeto que almacena datos y forma parte de la API
de Java. La clase ArrayList provee la funcionalidad básica que viene con un arreglo
estándar, pero añade una funcionalidad extra. La funcionalidad básica: un ArrayList
almacena una colección ordenada de valores y permite el acceso a dichos valores por medio
de un índice. La funcionalidad añadida: un ArrayList crece y se comprime dinámicamente
al insertar y borrar elementos en cualquier ubicación especificada (se redimensiona
automáticamente.
La clase ArrayList está definida en el paquete java.util de la API de Java, así debemos
importar el paquete para poder usarla.
Para añadir un elemento al final de un objeto ArrayList, usamos el método add:
variableArrayList.add(item); El ítem que es añadido debe ser del mismo tipo que el
especificado en la declaración y creación del ArrayList.
La clase ArrayList en Java, es una clase que permite almacenar datos en memoria de
forma similar a los Arrays, con la ventaja de que el número de elementos que almacena,
lo hace de forma dinámica, es decir, que no es necesario declarar su tamaño como pasa
con los Arrays.
Pilas (Last In, First Out)
Una pila (stack) es un TDA que almacena elementos que solamente pueden ser añadidos o
extraídos por su parte superior; una pila es considerada una estructura de tipo LIFO (Last
In, First Out), ya que el último elemento en entrar a la pila es el primero en salir, tal como
ocurre en una pila de platos o en una pila de libros, en donde el último plato o libro
colocado es el primero que se extrae.
Cola (First In, First Out)
Una cola (queue) es también un TDA que almacena elementos y permite acceder a ellos
por uno de sus extremos; un elemento se inserta en la cola por su parte final y se extrae por
su parte frontal; una cola es considerada una estructura de tipo FIFO (First In, First Out), ya
que el primer elemento en entrar a la cola es el primero en salir, tal como sucede en una
ventanilla de atención a clientes en una tienda o supermercado, en donde el primer cliente
que entra es el primero que se atiende.
• Conclusiones
En conclusión, en la programación existen muchos tipos de estructuras, datos, variables
métodos, atributos, clases objetos entre otros.
Entendemos que la programación es el proceso de crear un conjunto de
instrucciones que le dicen a una computadora como realizar algún tipo de tarea.
Por estos motivos se investigaron algunos temas con respecto a los a todo lo que puede
llevar un programa.
• Referencias bibliográficas
Barnes, D. J., Kölling, M., & Brenta, B. I. (2007). Programación orientada a objetos con
Java. Pearson Educación. Obtenido de
https://www.academia.edu/download/56145172/Programacion_orientada_a_objetos
_con_Java.pdf