Вы находитесь на странице: 1из 40

Unidad:

Docente: Erick Núñez Tarrillo


Logro

Al finalizar la unidad, el estudiante identifica, analiza y resuelve


problemas algorítmicos que usan un tipo abstracto de datos,
además utiliza estructuras de colas y pilas, desarrollando
métodos que utilicen esas estructuras

Importancia
Esta unidad es importante porque nos da a conocer los principios
básicos de la programación orientada a objetos, la cual nos
permite estructurar nuestros algoritmos como se presentan en la
realidad, facilitando así el proceso de construcción y
mantenimiento del software. además del uso de estructuras
abstractas lineales como las pilas y colas
Contenido general

• Programación orientada a objetos


• Estructura de datos
• Colas y Pilas
Programación Orientada a Objetos (POO)
• Clases, atributos, métodos, objetos
• El objeto actual (this), Encapsulamiento
• Constructores, Parámetros por defecto y con argumentos
Programación Orientada a Objetos

Es un
paradigma
de
programación
Programación Orientada a Objetos
Programación Orientada a Objetos

Abstracción

Polimorfis
Modularidad
mo

POO

Encapsula
miento Herencia
Programación Orientada a Objetos

¿Cómo se representa un objeto?

Características Funcionalidades
Programación Orientada a Objetos

Clases

Es la definición de un tipo de un
tipo de objeto

Representa la abstracción de
características y funcionalidades
de un grupo de objeto
Programación Orientada a Objetos

Clases

Atributos
(estados)

Clase
Métodos
(procesos)
Programación Orientada a Objetos

Clases

Mi auto
El auto
de Luis

El auto
de
Laura

Clase Auto
Programación Orientada a Objetos

Clases

Atributos Métodos

• Color • Arrancar
• Velocidad • Acelerar
• Numero • Frenar
de Ruedas • Retroceder
Programación Orientada a Objetos

Objeto

Es una instancia de una clase

Esta definido con características


particulares
Programación Orientada a Objetos

Encapsulamiento

Velocidad
Retroceder

Encender Acelerar

Frenar
Programación Orientada a Objetos
Encapsulamiento
Control de Acceso
Modificadores Clase Paquete Sub Clase Todas las
clases

public X X X X
protected X X X
default X X
private X

Getters y Setters:
Son métodos para obtener(getter) o establecer(setter) valores a variables.
Programación Orientada a Objetos
Encapsulamiento
Color

SetColor
Velocidad
GetColor Acelerar

Retroceder

Encender Frenar

Getters y Setters:
Son métodos para obtener(getter) o establecer(setter) valores a
variables.
Programación Orientada a Objetos

El objeto actual (this)


Distinguir los atributos de los parámetros y
variables locales que tengan el mismo nombre
dentro de la implementación de un método.

Aplica un mensaje a otro objeto establecido


como parámetro la referencia al objeto actual
Programación Orientada a Objetos
Constructor
Es un método especial de la clase
que sirve para crear objetos e
inicializar atributos.

Debe declararse publico y llamarse igual que su


clase; puede recibir parámetros y sobrecargarse

En una clase pueden haber múltiples constructores


(sobrecarga)

• Constructor por defecto


• Constructor con parámetros
Tema: Estructura de datos
• Colas
• Pilas
Estructura de datos
Definición de tipos de datos abstractos (TDA)
Es un tipo de dato definido por el usuario que tiene un
conjunto de valores y un conjunto de operaciones.

- Cumple con los principios de abstracción y los de


ocultación de la información, se puede manejar sin
conocer la representación interna.

- Es decir, los TDAs ponen a disposición del programador un


conjunto de objetos junto con sus operaciones básicas que
son independientes de la implementación elegida.
Colas
• Concepto de colas
• Operación con colas
Entra
Colas
fin 4 Definición
3 Estructura de datos abstracto lineal cuyos elementos son insertados y
eliminados de acuerdo con el principio de que el primero en entrar es
2 el primero en salir (FIFO)

1 Una cola es un caso particular de lista en el cual los elementos se


frente insertan en un extremo (el posterior o final) y se suprimen en el otro
0 (el anterior o frente)

Un ejemplo de cola es la Cola de impresión en el sistema operativo


sale Windows. Cada usuario de una red de Windows coloca sus trabajos de
impresión y el sistema lo imprime en el mismo orden en que fueron
insertados en la cola de impresión.
Colas

Operaciones con colas


•push: agregar un elemento al final de la cola.
•pop : quitar un elemento del inicio de la cola.
•Empty: retorna un valor que indica si la cola
está vacía o no.
•Top: retorna el objeto que está al inicio de la
cola sin borrarlo.
Colas
Inserta un objeto al final de la cola
Encolar (Push)

Push(cola,valor)

E
Push(cola,”E”)
D
C
B
A
Cola
Colas
Desencolar (Pop) Remueve el objeto que está al inicio de la cola

pop()

A
E
D
C
B
Colas
Max-1 0 Colas circulares
Problema con las colas lineales al implementarlas con arreglos
hacen que surjan las colas circulares.
.. 1 La idea general es insertar elementos en posiciones previamente
. desocupadas

. . . fin frente
Colas Max-1 0
FRENTE

Colas circulares 1

2
.
.
. 3
FIN

. .
.
Implementación de Colas en Java
Demo demostrativo
Pilas
• Concepto de pilas
• Operación con pilas
• Representación postfija
CIMA
Pilas
Definición
Estructura de datos abstracto lineal que solo se puede acceder por
uno de sus extremos llamado Cima.
Utilizan la forma LIFO, “Ultimo en entrar, Primero en Salir”.

CIMA= -1
pila esta vacía
Pilas

Operaciones
•push: agregar un elemento en la cima de la pila.
•pop : quitar un elemento de la cima de la pila.
•Empty: retorna un valor que indica si la pila está
vacía o no.
•Top: retorna el objeto que está en el tope de la
pila sin borrarlo.
Pilas
Inserta un objeto en la cima de la pila
Apilar (Push)

Push(pila,valor)

E
Push(pila,”E”)
D
C
B
A
pila
Pilas
Desapilar (pop) Remueve el objeto que está en la cima de la pila

pop()

E
D
C
B
A
Pilas
Ejemplo del funcionamiento de una pila

cima = -1 cima = 0 cima = 1 cima = 2 cima = 1 cima = 0 cima = 2


CE BE

C
B B B D
A A A A A A
Push(pila,”A”) Push(pila,”B”) Push(pila,”C”) pop() pop() Push(pila,”D”)
Implementación de Pilas en Java
Demo demostrativo
Notación postfijas
Definición
Las notaciones son una forma especial en la que se pueden escribir
una expresión matemática y puedan ser de 3 formas: infija, prefija y
posfija. Los prefijos, Pre - Pos - In se refieren a la posición relativa del
operador con respecto a los dos operandos.

Notación infija: Es la notación común de fórmulas aritméticas y


lógicas, en la cual se escriben los operadores entre los operandos en
que están actuando (ej. 2 + 2). No es tan simple de analizar por las
computadoras.
Notación postfija o polaca inversa: Como su nombre lo indica se
refiere a que el operador ocupa la posición después de los operandos
EJ 2 2 +
Notación postfijas
Características principales: El orden de los operandos se conserva
igual que la expresión infija equivalente no utiliza paréntesis ya que no
es una operación ambigua.
Su principio es el de evaluar los datos directamente cuando se
introducen y manejarlos dentro de una estructura LIFO (PILA), lo que
optimiza los procesos a la hora de programar.

(2+(3*4)) = x ((2+3)*4) = x

Notación infija 2+3*4 = x (2+3)*4 = x

Notación postfija 2 3 4 * + x= 2 3 + 4 * x=
Conclusiones
Programación orientada a objetos (POO) es un paradigma de
programación que representa elementos reales o conceptuales
tomando sus características y funcionalidades.
• Las clases son abstracciones de la realidad que
representan las características mediante atributos y las
funcionalidades mediante métodos.
• Los objetos vienen a ser instancias de las clases.
• Encapsulamiento es la capacidad de proteger y limitar el
acceso a las propiedades del objeto.
• Los constructores son métodos especiales que se
ejecutan al crearse una instancia del objeto y sirven para
inicializar los valores de los atributos.
Conclusiones
Tipos de datos abstractos (TDA) Es un tipo de dato definido por el
usuario que tiene un conjunto de valores y un conjunto de
operaciones.
• Las colas son TDA donde sus elementos son insertados y
eliminados de acuerdo con el principio de que el primero en
entrar es el primero en salir.
• Las pilas son TDA a los que se puede acceder por uno de sus
extremos llamado “cima” y cumplen con el principio “el
último en entrar es el primero en salir”.
• Las “notaciones posfijas” son un ejemplo practico del uso de
las pilas.
Gracias
Docente: Erick Núñez Tarrillo

Вам также может понравиться