1
|
|
2
|
- Programar es concebir, diseñar, y probar estructuras lógicas para
resolver problemas por medio de un computador.
- La programación puede visualizarse como un proceso cíclico.
- Observe el siguiente diagrama…
|
3
|
|
4
|
- El objetivo final en la elaboración de programas es solucionar un
problema de la vida real.
- La especificación del problema plantea cuál es el problema que se quiere
resolver y cuáles son las características esperadas de una posible
solución.
- La mayor parte de los proyectos de desarrollo de “software” fallan
debido a que se producen programas sin tener aún claro el problema y los
requerimientos que tiene el usuario quien necesita del mismo.
|
5
|
- Es el proceso de descomposición del problema para comprenderlo en su
totalidad.
- Frecuentemente un problema es descompuesto en sub-problemas de menor
complejidad a los cuales también se les debe aplicar un proceso de
análisis.
- El producto final del análisis es un modelo conceptual del problema.
|
6
|
- Al igual que es necesario contar con un “plano” antes de la construcción
de un edificio, el diseño es necesario antes de iniciar la escritura de
un programa.
- El producto que se obtiene luego de esta etapa es una especificación de
las características estructurales y funcionales del programa que se
quiere construir.
- En esta fase se define el “algoritmo” o “secuencia de pasos” necesarios
para resolver un problema.
|
7
|
- Un algoritmo es la secuencia de pasos definidos para la resolución de un
problema.
- Por ejemplo:
- El algoritmo de la derecha sirve para encontrar el mayor de tres
números A, B y C, independientemente de los valores
- ¡Cuidado! Al hablar no confunda la palabra “Algoritmo” con la palabra
“Logaritmo” las cuales no tienen relación alguna.
- 1) Compare A y B.
- 2) Si A es mayor o igual que B continúe con el paso 3 sino salte al 8
- 3) Compare A con C
- 4) Si A es mayor o igual que C ejecute el paso 5 sino salte al 6
- 5) A es el mayor
- 6) Sino
- 7) C es el mayor
- 8) Si B es mayor que A
- 9) Compare B con C
- 10) Si B es mayor o igual que C ejecute el paso 11 sino salte al 12
- 11) B es el mayor
- 12) Sino
- 13) C es el mayor
|
8
|
- Es el proceso de escritura de las instrucciones que va a ejecutar el
programa, utilizando un lenguaje de programación.
- El producto de esta etapa es conocido como el “código fuente”, que
consiste en instrucciones fáciles de leer por un humano.
|
9
|
- Es un proceso automático mediante el cual un programa conocido como
“compilador” produce, a partir del código fuente, un programa ejecutable
por el computador.
- Al producto de este proceso normalmente se le llama programa binario o
ejecutable.
|
10
|
- Es el proceso mediante el cual se verifica que el programa funciona
correctamente.
- En otras palabras, son las pruebas que debe pasar el programa para
verificar que resuelve el problema inicial.
- Las pruebas deben diseñarse antes de iniciar con la etapa de
programación o implementación.
|
11
|
- Muchos creen que programar es solamente codificar, y no se dan cuenta
que programar es un proceso cíclico compuesto de varias etapas, que gira
alrededor del problema que se quiere resolver.
|
12
|
- Existen diferentes “paradigmas” de programación.
- El más utilizado en la actualidad es el “paradigma de programación
orientada a objetos” o P.O.O.
- Por lo tanto, en este curso se utiliza P.O.O.
|
13
|
- La P.O.O. pretende modelar la realidad como una serie de objetos que se
mezclan e interactúan entre sí.
- Todo el proceso de desarrollo de programas gira entonces alrededor de la
noción de una realidad compuesta de objetos.
|
14
|
- Su objetivo fundamental es crear fragmentos de código fuente
reutilizable ya que los mismos representarán objetos específicos.
- La programación por objetos permite crear programas modulares.
- Si se aplica correctamente, la P.O.O. facilita el mantenimiento y
modificación de programas extensos.
|
15
|
- Un objeto puede tener características o “atributos” simples como su
color, forma, altura, nombre o estar formado por la unión de otros
objetos.
- Además podemos decir que los objetos pueden ser “manipulados” tanto para
cambiarlos en alguna forma, o utilizarlos para que lleven a cabo
“acciones” que pueden o no afectar a otros objetos en el medio en que se
encuentran.
|
16
|
- Siempre se pueden identificar características y acciones asociadas a los
objetos que nos rodean.
- Ejemplos:
- María está hablando con Juan.
- Hay un libro que tiene páginas.
- Hay un lápiz amarillo que sirve para escribir.
- El televisor está encendido.
|
17
|
- Un televisor tiene atributos como su diámetro, tipo de pantalla, marca,
peso, botón de encendido, controlador de funciones como cambiar canales
y volumen.
- La persona a un nivel muy simplista puede ser vista como un objeto que
tiene como atributos: nombre, lugar de nacimiento y fecha de nacimiento.
- Un objeto más simbólico como un punto cartesiano puede ser visto como un
par ordenado compuesto por la coordenada “x” y la coordenada “y”.
|
18
|
- El televisor puede ser encendido, apagado, cambiado de canal, y se le
puede subir y bajar el volumen.
- A una “persona” podemos preguntarle su nombre y su fecha de nacimiento.
- Un punto cartesiano puede ser utilizado para calcular la distancia con
respecto a otro punto en el plano.
|
19
|
- ¿Cómo podemos crear un modelo que represente a un objeto de la vida
real?
|
20
|
- Un objeto se puede representar como una composición de atributos y
métodos.
|
21
|
- Los atributos son las características propias del objeto.
- Por ejemplo:
- En un televisor
- tenemos. . .
|
22
|
- Los métodos son las acciones que pueden llevar a cabo o modifican a un
objeto.
- Por ejemplo:
- En un televisor
- tenemos. . .
|
23
|
- Para crear objetos lo primero que hay que hacer es definir sus
características en una especificación de “clase”.
|
24
|
- Una clase es una descripción de las características generales que tienen
en común un grupo especifico de objetos.
- Una clase es como un plano con el cual se construyen objetos de un tipo
específico.
- Igual que con un plano de un edificio, se pueden crear diagramas de
clases.
|
25
|
- En los últimos años se ha generalizado el uso de un lenguaje simbólico
para modelar clases conocido como UML.
- UML significa
- “Unified Modeling Language”
- o
- Lenguaje unificado para modelar
|
26
|
- En UML el diagrama de una clase muestra en la parte superior el nombre
de la clase, más abajo aparecen los atributos y finalmente los métodos.
- Note el uso de los símbolos – , + y los paréntesis ( ) lo cual se
explicará cuando sea pertinente.
|
27
|
- La clase Televisor define objetos con los siguientes atributos:
diámetro, marca, pantalla, peso.
- Todo objeto de la clase Televisor puede llevar a cabo acciones como:
encender, apagar, cambiar canal, subir volumen.
|
28
|
- Se puede modelar al perro doméstico como un animal que tiene
características o atributos como su raza, dueño, tamaño, peso, edad.
- Además puede llevar a cabo acciones como ladrar y morder.
|
29
|
|
30
|
|
31
|
- Diremos que una instancia es uno de los miembros específicos de una
clase.
- Para crear una instancia se deben asignar valores específicos a los
atributos de una clase.
- Igual que con las clases, las instancias se pueden diagramar utilizando
UML.
|
32
|
- Se puede contar con diagramas de objetos donde aparece más de una
instancia de cada clase.
- Si no hay instancias de la clase solo aparece :Perro
- El diagrama de objetos es un vistazo al estado del sistema en un momento
dado, por ejemplo luego de la inicialización.
- Por ejemplo, si tango es un perro en particular,
|
33
|
- La instancia “miTele” es un Panafonix pantalla plana de 27 pulgadas, que
pesa 28.5 Kg.
|
34
|
- tango es un zaguate que pertenece a Melvin. Tiene 4 meses, mide 40.5 cm.
y pesa 50 Kg.
|
35
|
|
36
|
- Además se pueden representar instancias como círculos, donde los métodos
encierran los atributos.
- La idea de este diagrama es que se visualice el hecho de que desde el
exterior de la instancia, la interacción se realiza exclusivamente a
través de los métodos o “interfaz”.
- Se aclara que este diagrama no es UML, si no que es un diagrama más
simbólico para representar la disposición y acceso a los componentes de
un objeto.
|
37
|
- Para pedirle a un objeto que lleve a cabo una acción se le debe enviar
un mensaje. Esto se hace
utilizando el nombre de alguno de sus métodos.
- Los objetos se comunican a través de su “interfaz”.
|
38
|
- Se define como “interfaz” de un objeto, a los métodos que permiten
interactuar con él.
- En el diagrama se observa que la comunicación con este objeto solamente
se puede llevar a cabo invocando alguno de los cuatro métodos que
componen su “interfaz”.
|
39
|
- Identifique los objetos involucrados en la solución del problema.
- Identifique a cuáles clases pertenecen esos objetos y relacione dichas
clases entre sí.
- Identifique la funcionalidad y los atributos que hacen únicos a los
objetos pertenecientes a cada clase.
|
40
|
- En este curso se estudiará de forma gradual e incremental aspectos como:
- ¿Cómo se pueden definir los atributos de una clase de objetos?
- ¿Cómo se puede crear una instancia de esa clase?
|
41
|
- ¿Cómo se puede modificar u obtener la información que hay dentro de un
objeto?
- ¿Cómo se puede hacer que un objeto lleve a cabo acciones más complejas?
- Y finalmente: ¿cómo se pueden combinar en formas más complejas un grupo
de objetos para llevar a cabo una tarea de mediana complejidad?
|
42
|
- Un lenguaje orientado a objetos es aquel que ofrece mecanismos
tendientes a maximizar la reutilización de código confiable, modular y
bien probado.
- Las clases son un medio de abstracción, encapsulamiento, y ocultamiento.
|
43
|
- Abstraer es obtener las características que tienen en común todos los
elementos que pertenecen a una clase.
- Mediante la abstracción se logran definir cuales son los métodos y
atributos suficientes y necesarios para reconocer a un objeto como
miembro o no de una clase.
|
44
|
- El encapsulamiento es la característica mediante la cual se logra dar
identidad a los objetos.
- Por ejemplo: una mesa es más que una tabla y cuatro patas, ya que se
puede manipular como si fuera algo con su propia identidad.
- La nueva clase cobra identidad y es más que las partes que la conforman.
|
45
|
- El ocultamiento permite esconder la forma en que están hechos “por
dentro” los objetos.
- Si alguien sabe cuales son los métodos de un objeto y “aprende” a
manejarlo, no le importa si el objeto cambia por dentro siempre y cuando
no cambie sus métodos o “interfaz”.
- Por ejemplo: para manejar un carro se necesita saber como acelerar,
girar, frenar, y hacer cambios. El tipo de aceite que utiliza el carro
puede cambiar sin afectar la forma en que se maneja.
|
46
|
|
47
|
- Java es un lenguaje diseñado para la programación por objetos.
- Java inicia como un proyecto de investigación de la compañía Sun
Microsystems en 1991.
- El lenguaje se anunció oficialmente en 1995.
- Parte de la sintaxis de Java se basa en los lenguajes de programación C
y C++.
|
48
|
- Las principales ventajas del lenguaje Java son las siguientes:
- Orientado a objetos.
- Simple y familiar.
- Robusto y seguro.
- Portable (arquitectura neutral).
- Apto para programación en ambientes distribuidos.
|
49
|
- Es un lenguaje de poca complejidad en cuanto a escritura y lectura del
mismo.
- Tiene una sintaxis similar a la de otros lenguajes como C y C++, lo cual
lo hace familiar.
- Utiliza la metodología de programación orientada a objetos para
aplicaciones distribuidas (trabajo con redes).
|
50
|
- Java es independiente de la plataforma utilizada.
|
51
|
|
52
|
- El método principal o main() es el punto de entrada inicial de la
aplicación. Este método es llamado cuando la aplicación es ejecutada.
- // import o package
- public class NombreClase{
- // variables de instancia y
métodos.
- public static void main (String args []){
- // variables locales e instrucciones.
- System.exit(0);
- }
- }
|
53
|
- Las instrucciones de un programa o “código fuente” deben ser convertidas
a instrucciones que puedan ser ejecutadas por la máquina.
- Lo anterior es una función del compilador.
|
54
|
- También se puede compilar y ejecutar paso a paso con el compilador de
Java de Sun MicroSystems conocido como jdk o Java Development Kit del
“Java Standard Edition” en caso de no tener ambiente gráfico o de tener
una computadora de menor capacidad.
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
|