Está en la página 1de 5

qwertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopa
Investigacin Documental
Introduccin a Android
sdfghjklzxcvbnmqwertyuiopasdf
ghjklzxcvbnmqwertyuiopasdfghj
klzxcvbnmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwe
rtyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwertyuiopas
dfghjklzxcvbnmqwertyuiopasdfg
LI Jaime Ibarra vila

12/11/2014

Aldring Ignacio Bueno Lpez


12040040

ARREGLOS
Las estructuras de datos que hemos visto hasta ahora (listas, tuplas, diccionarios,
conjuntos) permiten manipular datos de manera muy flexible. Combinndolas y
anidndolas, es posible organizar informacin de manera estructurada para
representar sistemas del mundo real.
En muchas aplicaciones de Ingeniera, por otra parte, ms importante que la
organizacin de los datos es la capacidad de hacer muchas operaciones a la vez
sobre grandes conjuntos de datos numricos de manera eficiente. Algunos
ejemplos de problemas que requieren manipular grandes secuencias de nmeros
son: la prediccin del clima, la construccin de edificios, y el anlisis de
indicadores financieros entre muchos otros.
La estructura de datos que sirve para almacenar estas grandes secuencias de
nmeros (generalmente de tipo float) es el arreglo.
Los arreglos tienen algunas similitudes con las listas:

los elementos tienen un orden y se pueden acceder mediante su posicin,

los elementos se pueden recorrer usando un ciclo for.

Sin embargo, tambin tienen algunas restricciones:

todos los elementos del arreglo deben tener el mismo tipo,

en general, el tamao del arreglo es fijo (no van creciendo dinmicamente


como las listas),

se ocupan principalmente para almacenar datos numricos.

A la vez, los arreglos tienen muchas ventajas por sobre las listas, que iremos
descubriendo a medida que avancemos en la materia.
Los arreglos son los equivalentes en programacin de las matrices y vectores de
las matemticas. Precisamente, una gran motivacin para usar arreglos es que

hay mucha teora detrs de ellos que puede ser usada en el diseo de algoritmos
para resolver problemas verdaderamente interesantes.

PROGRAMACIN ORIENTADA A OBJETOS


Los objetos son entidades que tienen un determinado estado, comportamiento
(mtodo) e identidad:

El estado est compuesto de datos o informaciones; sern uno o varios


atributos a los que se habrn asignado unos valores concretos (datos).

El comportamiento est definido por los mtodos o mensajes a los que sabe
responder dicho objeto, es decir, qu operaciones se pueden realizar con l.

La identidad es una propiedad de un objeto que lo diferencia del resto; dicho


con otras palabras, es su identificador (concepto anlogo al de identificador de
una variable o una constante).

Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a


otros objetos pertenecientes a otras clases e incluso frente a objetos de una
misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez,
los objetos disponen de mecanismos de interaccin llamados mtodos, que
favorecen la comunicacin entre ellos. Esta comunicacin favorece a su vez el
cambio de estado en los propios objetos. Esta caracterstica lleva a tratarlos como
unidades indivisibles, en las que no se separa el estado y el comportamiento.
Los mtodos

(comportamiento) y atributos

(estado) estn

estrechamente

relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase
requiere de mtodos para poder tratar los atributos con los que cuenta.
El programador debe pensar indistintamente en ambos conceptos, sin separar ni
darle mayor importancia a alguno de ellos. Hacerlo podra producir el hbito
errneo de crear clases contenedoras de informacin por un lado y clases con
mtodos que manejen a las primeras por el otro. De esta manera se estara
realizando

una programacin

programacin orientado a objetos.

estructurada camuflada en

un

lenguaje

de

La POO difiere de la programacin estructurada tradicional, en la que los datos y


los procedimientos estn separados y sin relacin, ya que lo nico que se busca
es el procesamiento de unos datos de entrada para obtener otros de salida. La
programacin estructurada anima al programador a pensar sobre todo en trminos
de procedimientos o funciones, y en segundo lugar en las estructuras de datos
que esos procedimientos manejan. En la programacin estructurada solo se
escriben funciones que procesan datos. Los programadores que emplean
Programacin Orientada a Objetos, en cambio, primero definen objetos para luego
enviarles mensajes solicitndoles que realicen sus mtodos por s mismos.

HERENCIA
La herencia es especfica de la programacin orientada a objetos, donde una clase
nueva se crea a partir de una clase existente. La herencia (a la que habitualmente
se denomina subclases) proviene del hecho de que la subclase (la nueva clase
creada) contiene las atributos y mtodos de la clase primaria. La principal ventaja
de la herencia es la capacidad para definir atributos y mtodos nuevos para la
subclase, que luego se aplican a los atributos y mtodos heredados.
Esta particularidad permite crear una estructura jerrquica de clases cada vez ms
especializada. La gran ventaja es que uno ya no debe comenzar desde cero
cuando desea especializar una clase existente. Como resultado, se pueden
adquirir bibliotecas de clases que ofrecen una base que puede especializarse a
voluntad (la compaa que vende estas clases tiende a proteger las datos
miembro usando la encapsulacin).

POLIMORFISMO
Esta caracterstica permite definir distintos comportamientos para un mtodo
dependiendo de la clase sobre la que se realice la implementacin. En todo

momento tenemos un nico medio de acceso, sin embargo se podr acceder a


mtodos distintos.
Veamos el siguiente ejemplo, en el que se define una clase forma de la que se
heredan las clases crculo y cuadrado.
La clase forma define los mtodos dibujar y borrar. En la definicin de estos
mtodos se implementar el cdigo comn a todos los objetos de la clase. Sin
embargo cuando definamos las clases hijas, crculo y cuadrado, ser necesario
modificar estos mtodos para adaptarlos a las nuevas subclases. El mtodo de la
clase padre implementa aquellas acciones comunes. Las clases hijas aaden las
operaciones particulares que necesiten. Cuando utilicemos los mtodos de la
clase forma no tendremos que hacer distincin entre cuadrados y crculos. Gracias
al polimorfismo se ejecutar el mtodo adecuado en funcin de la subclase a la
que pertenezca el objeto.
En la declaracin de una clase estamos definiendo el conjunto de mtodos y
campos que son accesibles desde fuera de una clase o lo que a menudo se
denomina contrato de la clase. Este contrato determina cual va a ser la
funcionalidad de la clase. Pero cuando extendemos una clase para crear otra
estamos ampliando este contrato aadiendo ms funcionalidades. Por tanto
cuando creamos esa nueva clase hacemos uso de dos mecanismos. Por un lado
la herencia para reutilizar las partes comunes de la sper-clase. Y por otro
el polimorfismo, es decir el cambio en la forma en la que se implementa el contrato
de la superclase. Como vemos al escribir una subclase podemos sobrescribir el
contrato aadiendo nuevas funcionalidades, pero no cambiarlo.
A la hora de implementar el polimorfismo tendremos dos mecanismos de los que
echar mano para sobrescribir una clase: reemplazar la implementacin de un
mtodo o aadir funcionalidades a un mtodo.

También podría gustarte