Programación I
Prof. Paulo Picota
Contenido
I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
• Definición de Programación Orientada a Objetos
• Características de la Programación Orientada a Objetos
• Construcción de clase empleando diagramas UML
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Programación Orientada a Objetos
• La POO (Programación Orientada a Objeto) es un paradigma de
programación que utiliza los llamados objetos para controlar las entradas,
salidas y operaciones durante la ejecución de un programa.
• Un objeto no es más que la representación lógica de un valor / dato.
• Este valor no se limita solamente a variables, un objeto puede contener
funciones así como características propias que lo identifican de forma única
dentro de una aplicación.
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Programación estructurada vs POO
La POO es un estilo de programación que trata los de datos como “objetos”
con características propias que pueden ser compartidas y utilizadas por otros
objetos de la misma clase.
La programación estructurada es un estilo de programación donde todos los
elementos se declaran y se ejecutan dentro de procedimientos que se pueden
llamar cada vez que sea necesario.
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Programación estructurada vs POO
Funciones:
En la programación estructurada las funciones se conocen como
“procedimientos” en la POO se conocen como “métodos”
Declaraciones:
En la programación estructurada, tendrías que declarar varias veces
un “elemento” y definir sus características en cada declaración.
En la POO ya están creados todos las características, solo debes asignar el
valor para cada una.
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
CLASE
Definición
• Atributo 1
• Clase: una clase es la plantilla • Atributo 2
donde se definen todas las • Atributo 3 Perro
características que los objetos
• Raza
van a poseer.
• Peso
• Ejemplo: Carros, Perros, Humanos, • Edad Estrella
Estrellas
• Tamaño
• Atributos: los atributos son las • Posición
características que la clase ha • Cantidad de helio
definido para si misma.
• Ejemplo: Color, tamaño, posición,
valor, cantidad, etc
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Definición
• Objeto: es un miembro de la clase Carros
• Marca
que posee todos los atributos
• Color
definidos en la clase dentro de la cual
• Llantas
ha sido creado.
Lancer
• Mitsubishi
Corvette • Gris
• Chevrolet • #14
• Rojo
• #17
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Estructura
Definición Atributo
• Nombre
• Método: es un conjunto de • Valor
instrucciones y algoritmos que
Metodos
realizan una acción que puede ser Arreglo
• AsignarValor
modificar valores del objeto o Atributo
• Imprimir
generar un evento dentro del • Numeros
programa. • 1,2,3,4,5
Metodos
• AsignarValor
• Imprimir
Numeros.AsignarValor = {1,2,3,4,5}
Numeros.Imprimir
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Elementos de la Programación Orientada a Objetos
• Abstracción
Es la capacidad de la POO de modelar la realidad o un elemento en particular para separarlo
en clases con características claramente definidas.
La abstracción permite crear “conceptos” dentro de nuestro programa y cada concepto,
representado con una clase, producirá objetos que poseen las características que hemos
definido.
Estos objetos abstractos podrán entonces compartir datos e interactuar dentro de nuestro
programa.
El comportamiento de nuestros objetos también se pueden representar de forma abstracta
definiendo métodos dentro de nuestras clases.
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Elementos de la Programación Orientada a Objetos
• Encapsulamiento
Es la técnica de colocar todos los elementos que caracterizan un concepto dentro de la
misma clase, de manera que solo pertenecen a esta clase.
El encapsulamiento permite representar la idea que un atributo pertenece a un objeto y es
“parte de el” como el color es parte de un auto.
En palabras más simples, podemos pensar en cada concepto (automóvil) como una capsula
y dentro de esta capsula están todas sus características (color, peso, marca, etc).
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Elementos de la Programación Orientada a Objetos
• Polimorfismo
Es la capacidad de los objetos de comportarse de manera genérica con Métodos similares
que actúan diferente para diferentes tipos de objetos.
El polimorfismo (múltiple forma) permite que de una gran clase genérica como Vehículos,
diferentes objetos puedan usar un método como RODAR dependiendo del valor individual
de cada objeto.
Ejemplo: Auto.Rodar con llanta
Tanke.Rodar con traks de oruga
Patines.Rodar con ruedas pequeñas
Int.leer -> convierte la entrada de texto en un valor numérico para el objeto Int
Verb.leer -> toma la entrada de texto y la concatena como valor de cadena al objeto Verb
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Elementos de la Programación Orientada a Objetos
• Herencia
En la declaración de clases y subclases todos los miembros de una clase más grande
obtienen las características definidas en la súper clase.
Todos los objetos declarados dentro de una clase obtienen los atributos y métodos
definidos dentro de su clase.
La herencia facilita el polimorfismo y el encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Elementos de la Programación Orientada a Objetos
• Herencia Atributo
Mujer
BIPEDOS Humanos • Karen
Clases
Atributo • 1.45
Humanos Métodos
Métodos
Aves • Caminar
Primates • Hablar
Atributo
• Nombre Gallina
• Altura Atributo
Métodos Aves • Susi
• Caminar Atributo • 0.65
• Hablar Métodos Métodos
• Caminar
• Hablar
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
Ventajas de la Programación Orientada a Objetos
• Modificable: en la POO es sencillo añadir, modificar o eliminar nuevos objetos o funciones que nos
permiten actualizar programas fácilmente.
• Gestión de los errores: cuando se trabaja con un lenguaje POO se sabe exactamente dónde mirar
cuando se produce un error, ventaja del trabajo modular de los lenguajes POO.
• Herencia: crear una única clase y compartir muchas de sus propiedades con múltiples subclases,
permite ahorrar mucho trabajo. Al hacer un cambio en la clase, automáticamente todas las subclases
adoptarán el mismo.
• Reducción de costes de programación: especialmente en proyectos grandes la POO reduce los
costos de programación ya que se los programadores pueden usar el trabajo de los otros, ahorrando
horas de desarrollo. Crear librerías y compartirlas o reutilizar librerías de otros proyectos es algo
habitual en la programación orientada a objetos.