Ing. Edward Ropero
Magister en Gestión,
Aplicación y Desarrollo de
Software
Principios de la Programación Estructurada
 Los programas consisten en una serie de acciones que se
ejecutan en secuencia
 Todas las estructuras cuentan con
un solo punto de entrada y un solo
punto de salida
 Sólo hay una forma de entrar en
cada estructura de control y sólo
hay una forma de salir de ella.
Se basa en modelar el mundo real; trabaja con objetos en el sistema
que interactúan unos con otros a través de mensajes. Proporciona los
recursos para ocuparse de los objetos de un sistema complejo
La programación orientada a objetos
no debe confundirse con un lenguaje
programación orientado a objetos
Ejemplo:
a. Problema: Una persona necesita ver televisión.
b. Solución: Existen 3 elementos o agentes que se pueden
abstraer del problema
ELEMENTO DESCRIPCION
Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un
comportamiento: Ver , escuchar, hablar, etc.
Control
Remoto
Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento:
Enviar señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender
TV etc.
Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un
comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc.
 Considerada como técnica de
programación consiste en ampliar
el lenguaje existente con nuevas
operaciones y tipos de datos
definidos por el usuario.
 Considerada como técnica de
diseño, consiste en dedicar módulos
separados a la realización de cada
tipo abstracto de datos y cada
función importante.
NO SUSTITUYE A LA PROGRAMACIÓN ESTRUCTURADA,
SINO MÁS BIEN LA EXTIENDE
Permite a una persona concentrarse en los aspectos
esenciales del problema a la mano, mientras ignora
detalles que tienden a distraer; en una manera
conveniente de manejar la complejidad. Por lo tanto, la
abstracción, es eliminar lo innecesario
La esencia del encapsulamiento recae en que cuando un
objeto trae consigo su funcionalidad, esta última se
oculta. La utilidad se ve en la reducción de complejidad,
esto es debido a que las Clases se comportan como
cajas negras donde solo se conoce el comportamiento
pero no los detalles internos, y esto es conveniente
porque solo interesa saber que hace la Clase pero no
como lo hace
En la orientación a objetos, el
encapsulamiento ayuda a mantener
junto los elementos de datos, así como
las funciones y procedimientos que
operan sobre ellos. En otros
paradigmas, como el procedimental
(programación orientada a
procedimientos, el cual un programa
es estructurado en base a sus
funciones) los datos y operaciones se
mantienen separados
Es la posibilidad de hacer que una
operación exhiba diferentes
comportamientos en instancias
diferentes. El comportamiento
depende de los tipos de datos
usados en diferentes operaciones.
La correspondencia entre la
llamada actual y la implementación
de la funcionalidad dependerá de
los argumentos pasados con la
llamada. Polimorfismo significa,
“un nombre, múltiples
funcionalidades”.
Las clases no están aisladas, sino que se
relacionan entre sí, formando una jerarquía de
clasificación. Los objetos heredan las
propiedades y el comportamiento de todas las
clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el
encapsulamiento permitiendo a los objetos ser
definidos y creados como tipos especializados
de objetos preexistentes. Estos pueden
compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele
hacerse habitualmente agrupando los objetos
en clases y estas en árboles o enrejados que
reflejan un comportamiento común. Cuando
un objeto hereda de más de una clase se dice
que hay herencia múltiple
Objetos
Un objeto es una entidad cohesiva que tiene datos (atributos),
comportamiento (operaciones) y opcionalmente estado.
Características:
 Datos (atributos)
 Comportamiento
(operaciones)
 Identidad
Clases
Una clase es una abstracción que define las propiedades
comunes a una colección de objetos.
Carro
Marca
Placa
Modelo…
arrancar
frenar
acelerar...
Nombre de la Clase
Propiedades
Atributos
La clase define:
 Los atributos de los objetos: En cada
objeto de una clase dada, los
atributos pueden tener diferentes
valores, pero todos los objetos de una
clase tienen los mismos atributos
 La interfaz que exponen los objetos:
Todos los objetos de una clase dada
exponen la misma interfaz mediante
la cual pueden crearse, consultarse
o modificarse.
 El comportamiento de los objetos:
La implementación de un objeto
está definida por su clase.
Método: Sección de código autocontenida que pertenece a una
clase y que define la parte del comportamiento del sistema
correspondiente a dicha clase y a sus objetos
Observaciones:
La tarea asignada a un método debe estar bien definida.
El nombre de un método debe indicar
exactamente lo que hace (mediante un
verbo).
Los métodos deben tener una longitud
adecuada.
Métodos demasiado extensos hacen
difícil su comprensión y
depuración.
Sintaxis:
[Modificadores] tipoDevuelto identificadorMetodo([argumentos])
{
// cuerpo del método
}
Ejemplo: public bool verificarDatos(string id, string psw)
Código Opcional
Tipo devuelto: Es el tipo del valor devuelto al objeto que invocó al
método. Puede ser la palabra reservada void, un tipo primitivo Java
o una clase
primitivo
nada
clase
bool verificarDatos(string id, string psw)
void dibujarCuadrado(int lado)
Auto autoConMultas ()
La lista de parámetros (argumentos) es una lista de las declaraciones
de parámetros que se pasan al método para su ejecución
La lista puede estar
vacía pero los
paréntesis son
obligados
Es obligatorio
indicar el tipo de
cada parámetro
Los argumentos de entrada
deben coincidir en número
y tipo y aparecer en el
mismo orden con los
declarados en el método
Programación i 1. diseño orientado a objetos

Programación i 1. diseño orientado a objetos

  • 1.
    Ing. Edward Ropero Magisteren Gestión, Aplicación y Desarrollo de Software
  • 2.
    Principios de laProgramación Estructurada  Los programas consisten en una serie de acciones que se ejecutan en secuencia  Todas las estructuras cuentan con un solo punto de entrada y un solo punto de salida  Sólo hay una forma de entrar en cada estructura de control y sólo hay una forma de salir de ella.
  • 3.
    Se basa enmodelar el mundo real; trabaja con objetos en el sistema que interactúan unos con otros a través de mensajes. Proporciona los recursos para ocuparse de los objetos de un sistema complejo La programación orientada a objetos no debe confundirse con un lenguaje programación orientado a objetos
  • 4.
    Ejemplo: a. Problema: Unapersona necesita ver televisión. b. Solución: Existen 3 elementos o agentes que se pueden abstraer del problema ELEMENTO DESCRIPCION Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene un comportamiento: Ver , escuchar, hablar, etc. Control Remoto Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un comportamiento: Enviar señal, codificar señal, cambiar canal, aumentar volumen, ingresar a menú, prender TV etc. Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc.
  • 5.
     Considerada comotécnica de programación consiste en ampliar el lenguaje existente con nuevas operaciones y tipos de datos definidos por el usuario.  Considerada como técnica de diseño, consiste en dedicar módulos separados a la realización de cada tipo abstracto de datos y cada función importante. NO SUSTITUYE A LA PROGRAMACIÓN ESTRUCTURADA, SINO MÁS BIEN LA EXTIENDE
  • 7.
    Permite a unapersona concentrarse en los aspectos esenciales del problema a la mano, mientras ignora detalles que tienden a distraer; en una manera conveniente de manejar la complejidad. Por lo tanto, la abstracción, es eliminar lo innecesario
  • 8.
    La esencia delencapsulamiento recae en que cuando un objeto trae consigo su funcionalidad, esta última se oculta. La utilidad se ve en la reducción de complejidad, esto es debido a que las Clases se comportan como cajas negras donde solo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque solo interesa saber que hace la Clase pero no como lo hace En la orientación a objetos, el encapsulamiento ayuda a mantener junto los elementos de datos, así como las funciones y procedimientos que operan sobre ellos. En otros paradigmas, como el procedimental (programación orientada a procedimientos, el cual un programa es estructurado en base a sus funciones) los datos y operaciones se mantienen separados
  • 9.
    Es la posibilidadde hacer que una operación exhiba diferentes comportamientos en instancias diferentes. El comportamiento depende de los tipos de datos usados en diferentes operaciones. La correspondencia entre la llamada actual y la implementación de la funcionalidad dependerá de los argumentos pasados con la llamada. Polimorfismo significa, “un nombre, múltiples funcionalidades”.
  • 10.
    Las clases noestán aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple
  • 11.
    Objetos Un objeto esuna entidad cohesiva que tiene datos (atributos), comportamiento (operaciones) y opcionalmente estado. Características:  Datos (atributos)  Comportamiento (operaciones)  Identidad
  • 12.
    Clases Una clase esuna abstracción que define las propiedades comunes a una colección de objetos. Carro Marca Placa Modelo… arrancar frenar acelerar... Nombre de la Clase Propiedades Atributos
  • 13.
    La clase define: Los atributos de los objetos: En cada objeto de una clase dada, los atributos pueden tener diferentes valores, pero todos los objetos de una clase tienen los mismos atributos  La interfaz que exponen los objetos: Todos los objetos de una clase dada exponen la misma interfaz mediante la cual pueden crearse, consultarse o modificarse.  El comportamiento de los objetos: La implementación de un objeto está definida por su clase.
  • 14.
    Método: Sección decódigo autocontenida que pertenece a una clase y que define la parte del comportamiento del sistema correspondiente a dicha clase y a sus objetos
  • 15.
    Observaciones: La tarea asignadaa un método debe estar bien definida. El nombre de un método debe indicar exactamente lo que hace (mediante un verbo). Los métodos deben tener una longitud adecuada. Métodos demasiado extensos hacen difícil su comprensión y depuración.
  • 16.
    Sintaxis: [Modificadores] tipoDevuelto identificadorMetodo([argumentos]) { //cuerpo del método } Ejemplo: public bool verificarDatos(string id, string psw) Código Opcional
  • 17.
    Tipo devuelto: Esel tipo del valor devuelto al objeto que invocó al método. Puede ser la palabra reservada void, un tipo primitivo Java o una clase primitivo nada clase bool verificarDatos(string id, string psw) void dibujarCuadrado(int lado) Auto autoConMultas ()
  • 18.
    La lista deparámetros (argumentos) es una lista de las declaraciones de parámetros que se pasan al método para su ejecución La lista puede estar vacía pero los paréntesis son obligados Es obligatorio indicar el tipo de cada parámetro Los argumentos de entrada deben coincidir en número y tipo y aparecer en el mismo orden con los declarados en el método