You are on page 1of 16

TEMA 1: Introduccin a fundamentos de

programacin.
La Informtica es la ciencia que abarca el estudio y aplicacin del
tratamiento automtico de la informacin, utilizando dispositivos
electrnicos (ordenadores). Tambin est definida como el
procesamiento automtico de la informacin.
Todo ordenador debe poder recibir datos, almacenarlos, manipularlos
de diversa manera y dar un resultado. Estos deben disponer de dos
elementos bsicos: un sistema fsico y un sistema lgico.
1. Sistema fsico: El sistema fsico es el conjunto de aparatos
necesarios para el tratamiento eficaz de la informacin. Se
conoce con el nombre de Hardware, se compone de placa
base, C.P.U, memoria auxiliar y dispositivos perifricos de
entrada/salida.
2. Sistema lgico: Es el conjunto de los recursos lgicos
(programas, datos, etc.) necesarios para que el sistema fsico
pueda realizar todos los trabajos. Se conoce con el nombre de
Software. Un ordenador no puede funcionar sin el software. El
software lo podemos dividir en dos grandes tipos de programas:
a. Programas del sistema o sistema operativo: Son
aquellos programas (conjunto de sentencias u rdenes,
necesarias para que el ordenador realice las acciones
necesarias para resolver u problema) que manejan los
recursos lgicos, necesarios para que funcione un
ordenador. Controlan los recursos del ordenador y sirven
de base para la escritura y ejecucin de los distintos
programas. Actan de intermediarios entre el hardware de
un ordenador y los usuarios del mismo. Pueden tener
interfaz o no.
b. Programas de aplicaciones: Son un conjunto de
programas que manejan los recursos lgicos necesarios,
para resolver los problemas del usuario. Son muy variados
y pueden servir de ayuda en las tareas ms diversas.
Podemos nombrar varios grupos principales: Tratamiento
de texto, hoja de clculo

PROGRAMA:

Conjunto de instrucciones u rdenes que se ejecutan sobre datos


dotados de cierta estructura y que da lugar a la informacin deseada.
Las ordenes o instrucciones dadas al ordenador tienen que estar
representadas mediante cadenas de bytes (8 bits necesarios para
representar un carcter). El Bit es la unidad mnima de
almacenamiento que permite diferenciar entre (0 y 1). La cifra 0
corresponde a una tensin de -5V y la cifra 1 de 5V.

LENGUAJES DE PROGRAMACIN
Cualquier notacin para escribir algoritmos y estructuras de datos, se
puede calificar como lenguaje de programacin. Los lenguajes de
programacin son lenguajes formales, compuestos por lxico o
alfabeto, unas reglas de sintaxis y una semntica absolutamente
estricta (significado).
Un lenguaje de programacin es un conjunto limitado de palabras y
de smbolos que representan procedimientos, clculos, decisiones y
otras operaciones que pueden ejecutar una computadora.
La historia de los lenguajes de programacin comienza segn la
mayora de los autores cuando Charles Babbage invent su
computadora en el ao 1822. El necesito un lenguaje para poder
comunicarse con esta mquina. Estos primeros lenguajes de
programacin estaban muy unidos a la computadora y fueron creados
para cada una de ellas.
Los primeros lenguajes de programacin propiamente dichos
aparecieron a finales de la dcada de los 50, el FORTRAN fue el
primero de ellos. Lo desarroll un equipo de IBM.

CLASIFICACIN DE LOS LENGUAJES DE


PROGRAMACIN
1. Clasificacin de los lenguajes segn el lxico:
a. Lenguaje mquina: Fue el primer tipo de lenguaje que
se emple en la programacin de ordenadores. Utilizan
como vocabulario bsico los smbolos 0 y 1. Dependen de
la mquina a utilizar. Cada tipo de ordenador tiene su
propio lenguaje mquina. No tienen que ser traducidos.
b. Lenguaje simblico: Utilizan como vocabulario lxico
un conjunto de smbolos, parecido al de los lenguajes
naturales. No suelen ser dependientes de la mquina.

Deben de ser traducidos para que el ordenador los


entienda.
2. Clasificacin de los lenguajes segn el nivel:
a. Lenguaje de bajo nivel o ensamblador: Estn
orientados a la mquina y no al programador. Son
lenguajes no transportables. Cada tipo de mquina tiene
su propio lenguaje ensamblador. Tienen que ser
ensamblados para que los entienda el ordenador. Sus
instrucciones suelen constar de un conjunto de tres
caracteres ms los operandos.
b. Lenguaje de alto nivel: Estos lenguajes son posteriores
a los de bajo nivel. Son portables, sirven para distintos
S.O y ordenadores. Suministran libreras, con las
funciones de uso frecuentes: entrada/salida, manejo de
tablas, de ficheros, etc.
c. Nivel medio: Hay que notar la existencia de lenguajes
que combinan caractersticas de los de alto nivel y los de
bajo nivel (es decir, Ensamblador). C: contiene estructuras
de programacin de alto nivel, y la facilidad de usar
libreras que tambin son caractersticas de alto nivel; sin
embargo, fue diseado con muy pocas instrucciones, las
cuales son sumamente sencillas, fciles de traducir al
lenguaje de la mquina.
3. Clasificacin de los lenguajes segn su sintaxis:
a. Lenguajes de programacin procedural o de
procedimientos: Divide el problema en partes ms
pequeas, que sern realizadas por subprogramas
(subrutinas, funciones, procedimientos), que se llaman
unas a otras para ser ejecutadas. Ejemplos ms
representativos de este tipo son: C, C++, FORTRAN.
Lenguajes compilados.
b. Lenguajes de programacin orientada a objetos:
Crean un sistema de clases y objetos siguiendo el ejemplo
del mundo real, en el que unos objetos realizan acciones y
se comunican con otros objetos. Los lenguajes orientados
a objetos ms representativos son:
i. Orientados a objetos puros: JAVA, C#.
Lenguajes mixtos.
ii. Lenguajes de procedimientos con la adicin
de clases orientadas a objetos: C++, VISUAL
BASIC, PHP.

c. Lenguajes de programacin funcional: La tarea se


realiza evaluando funciones, (como en Matemticas), de
manera recursiva. Ejemplo ms representativos: LISP.
Interpretados.
d. Lenguajes de programacin lgica: La tarea a realizar
se expresa empleando lgica formal matemtica. Expresa
qu computar. Ejemplo: Prolog.
4. Clasificacin de los lenguajes segn su traduccin:
a. Lenguajes compilados: Un programa traductor traduce
el cdigo del programa (cdigo fuente) en cdigo
mquina (cdigo objeto). Otro programa, el enlazador,
unir los ficheros de cdigo objeto del programa principal
con los de las libreras para producir el programa
ejecutable. Ejemplo: C.
b. Lenguajes interpretados: Un programa (intrprete),
ejecuta las instrucciones del programa de manera directa.
Ejemplo: Lisp.
c. Tambin los hay mixtos, como Java, que primero pasan
por una fase de compilacin en la que el cdigo fuente se
transforma en bytecode, y este bytecode puede ser
ejecutado luego (interpretado) en ordenadores con
distintas arquitecturas (procesadores) que tengan todos
instalados la misma mquina virtual Java.

ENSAMBLADORES, COMPILADORES E INTRPRETES.


Cuando programamos en un lenguaje distinto al lenguaje mquina,
los programas diseados deben ser traducidos a cdigo binario, para
que as las instrucciones que componen dicho programa puedan ser
entendidas y ejecutadas por la CPU. Los programas encargados de
llevar a cabo esta tarea reciben el nombre de traductores de lenguaje.

ENSAMBLADORES
Difcil para los hombres, cerca mquina. Cada mquina tiene su
propio ensamblador, estn orientados a la mquina no al hombre
Los ensambladores son los encargados de transformar o traducir los
programas escritos en ensamblador a su equivalente en cdigo
maquina o binario para que pueda ser ejecutado por la UCP.

INTRPRETES

Un intrprete es un programa encargado de procesar y traducir cada


instruccin o sentencia de un programa escrito en un lenguaje de alto
nivel a cdigo mquina y despus ejecutarla. Por tanto, un intrprete
lee, examina, traduce y ejecuta una a una todas las instrucciones del
programa fuente.
Uno de sus principales inconvenientes en su lentitud en sucesivas
ejecuciones del programa, ya que debe traducir y ejecutar cada una
de las instrucciones de cdigo del programa desarrollado en alto
nivel, repitiendo as todo el proceso de traduccin y ejecucin.

COMPILADORES
Un compilador es un programa traductor que a diferencia de los
intrpretes, lleva a cabo la fase de traduccin de dos formas, primero
traduce completamente el programa fuente a cdigo mquina y
seguidamente lo ejecuta. Un programa compilado no necesita
traducciones del programa fuente en ejecuciones sucesivas, lo que
hace mucho ms rpido el tiempo de ejecucin.
Las etapas del proceso de compilacin son:
1. Edicin: Consiste en la escritura del programa utilizando un
lenguaje de programacin precisamente seleccionado y su
posterior grabacin en un soporte de almacenamiento
permanente. En esta fase se obtiene el denominado programa
fuente.
2. Compilacin: En esta fase se traduce el programa fuente a su
equivalente en cdigo mquina, obteniendo en caso de no
producirse ningn error el denominado programa o modulo
objeto. En caso de producirse errores, el compilador los
mostrar utilizando los mensajes correspondientes, lo cual nos
permitir corregir el programa fuente y proceder de nuevo a su
compilacin.
3. Linkado: Esta fase tambin recibe el nombre de montaje y
consiste en unir o enlazar el programa objeto con determinadas
rutinas internas del lenguaje. Si el mtodo de compilacin es
modular se enlazarn los distintos mdulos para obtener as el
programa ejecutable.
4. Ejecucin: Esta fase consiste en la llamada del programa
ejecutable a travs del sistema operativo.

MIXTOS
Los programas inicialmente se compilan a un cdigo intermedio
llamado cdigo de bytes, y posteriormente, en tiempo de ejecucin,

se interpretan por la mquina virtual del lenguaje correspondiente, a


cdigo nativo del S.O bajo el que se ejecutan.

INGENIERA DEL SOFTWARE


Estudia la aplicacin de mtodos o metodologas para la construccin
de programas.

FASES DE ELABORACIN DE SOFTWARE (de un


programa)
Para realizar una aplicacin que nos resuelva un problema concreto
debemos seguir un procedimiento detallado, viendo los distintos
pasos que hay que dar para su solucin.
1. Anlisis: En esta fase se establece el producto a desarrollar,
siendo necesario especificar los procesos y estructuras de datos
que se van a emplear. En el anlisis estructurado se pueden
emplear varias tcnicas como:
a. Diagramas de flujo de datos
b. Modelos de datos
c. Diccionario de datos
d. Definicin de los interfaces de usuario
2. Diseo: En esta fase se alcanza con mayor precisin una
solucin ptima de la aplicacin, teniendo en cuenta los
recursos fsicos del sistema y los recursos lgicos. En el diseo
estructurado se pueden definir estas etapas:
a. Diseo externo
b. Diseo de datos
c. Diseo modular
d. Diseo procedimental
3. Codificacin: Consiste en traducir los resultados obtenidos a
un determinado lenguaje de programacin, teniendo en cuenta
las especificaciones obtenidas en el cuaderno de carga. Se
deben de realizar las pruebas necesarias para comprobar la
calidad y estabilidad del programa.
4. Explotacin: En esta fase se realiza la implantacin de la
aplicacin en el sistema o sistemas fsicos donde van a
funcionar habitualmente y su puesta en marcha para
comprobar el buen funcionamiento.

Tema 2: Elementos bsicos de metodologa


Todo algoritmo debe de dar la posibilidad de describir los siguientes
elementos:
1. Principio y fin: El principio y el fin (Se utiliza para diferenciar
distintos bloques dentro de un programa).
2. Variables:
a. Son definidas por el programador,
b. Su valor cambia durante su tiempo de vida.
c. Su nombre se lo da el programador.
d. Hay que declarar su tipo. El tipo de los datos que se van a
almacenar en ellas:
i. Entero: Almacena valores numricos enteros con o
sin signo.
ii. Real: Almacena valores numricos decimales. Ej.
3.2
iii. Carcter: Almacenan un carcter. Ej. f
iv. Alfanumricos: Almacenan cadenas de caracteres.
Ej. Total.
v. Lgico: Almacenan valores booleanos. Ej.
Verdadero o Falso
e. Representan posiciones de memoria que se identifican
con un nombre.
3. Constantes: Tienen un valor permanente, no cambian a lo
largo de su vida.
No hay que asignarles un nombre. Su nombre es la
representacin por escrito de su valor. El compilador las
reconoce. Tipos:

a. Literales NO HAY QUE DEFINIRLAS:


i. Literales o constantes alfanumricas: N van
encerradas entre dobles comillas, para distinguirlas
de los nombres de variables. Ejemplo: Fernando
ii. Caracteres: Siempre van encerradas entre comillas
simples. Ejemplo: H, p.
iii. Constantes numricas: ejemplo: 3, 23, 900.
b. Simblicas HAY QUE DEFINIRLAS: Son aquellas a las
que se les asigna un nombre. Ej. Const real PI=3,14.
4. Operaciones de asignacin: Se utilizan para asignarle
valores a las variables. Se evala la operacin de la derecha
del signo = y el resultado se almacena en la variable que
tenemos a la izquierda del signo =. Ejemplo: int x = 10

5. Operaciones aritmticas, Contadores, acumuladores:


Las operaciones aritmticas las representaremos mediante los
smbolos: Suma: +. Resta -, multiplicacin: *, divisin: /,
modulo: % (Devuelve resto de una divisin de nmeros
enteros).
Operadores relacionales: < , > , <= ,>= ,<>, != ,==
Menor, Mayor, Menor igual que, Mayor igual que, Distinto,
Equivalente (==) (Comparaciones). Son operadores binarios y el
resultado es de tipo lgico, es decir, verdadero o falso.
6. Instrucciones de E/S: Se utilizan para comunicar el programa
con los dispositivos de entrada y salida de datos. Normalmente
la salida estndar de datos, desde el programa, es la pantalla.
Normalmente la entrada estndar de datos, al programa, es el
teclado, nosotros leeremos los datos que nos son introducidos
mediante el teclado y los almacenaremos en las variables de
memoria.
7. Estructuras de control: Las estructuras de control tienen una
finalidad bastante definida: su objetivo es ir sealando el orden
en que tienen que sucederse los pasos de un algoritmo. Las
estructuras de control son de tres tipos:
a. Secuenciales: Una estructura de control secuencial, en
realidad, no es ms que escribir un paso del algoritmo
detrs de otro, el que primero se haya escrito ser el que
primero se ejecute.

b. Selectivas o Condicionales (if): Estas estructuras se


utilizan para TOMAR DECISIONES (por eso tambin se
llaman estructuras de decisin o alternativas o
condicionales). Lo que se hace es EVALUAR una condicin,
y, a continuacin, en funcin del resultado, se lleva a
cabo una opcin u otra.
c. Repetitivas o Bucle: Son aquellas estructuras que me
permiten repetir la ejecucin de una serie de sentencias
un nmero determinado de veces o mientras que se
cumple una condicin. Tenemos tres tipos:
i. Repetir para un valor inicial mientras que se cumpla
una determinada condicin, para los distintos
valores (for).
ii. Repetir mientras que se cumpla una condicin
validando la condicin lo primero. Este bloque no se

repetira si la condicin fuese falsa. En ambos casos


la condicin debe de ser verdadera (while).
iii. Repetir mientras que se cumpla una condicin
validando la condicin al final. El bloque se repetira
una vez mnimo aunque la condicin fuese falsa
do() while().

Tema 3: Lenguaje JAVA


PROPIEDADES DE JAVA
El lenguaje Java se cre con cinco objetivos principales:
1. Debera usar la metodologa de la programacin orientada a
objetos.
2. Debera permitir la ejecucin de un mismo programa en
mltiples sistemas operativos.
3. Debera incluir por defecto soporte para trabajo en red.
4. Debera disearse para ejecutar cdigo en sistemas remotos de
forma segura.
5. Debera ser fcil de usar y tomar lo mejor de otros lenguajes
orientados a objetos, como C++.
Java es un lenguaje de propsito general, valido para realizar todo
tipo de aplicaciones. Los programas ejecutables son independientes
de la arquitectura del equipo.
Es un lenguaje basado en objetos. Disear el software de forma que
los distintos tipos de datos que use estn unidos a sus operaciones.
Permite la reutilizacin del software, es portable. Programas escritos
en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo
de hardware. Es lo que significa ser capaz de escribir un programa
una vez y que pueda ejecutarse en cualquier dispositivo.
Java funciona perfectamente en red, tiene una gran funcionalidad
gracias a sus libreras estndar (Clases) y es un lenguaje compilado e
interpretado.
Se compila el cdigo fuente escrito en lenguaje Java, para generar un
cdigo conocido como bytecode (pseudocdigo prcticamente al
nivel cdigo mquina), instrucciones mquina simplificadas
especficas de la plataforma java a medio camino entre el cdigo
fuente y el cdigo mquina que entiende el dispositivo destino.

Para ejecutarlo es necesaria la mquina virtual de java JVM (traduce


el cdigo de bytes a instrucciones ejecutables en un determinado
sistema operativo).
Las bibliotecas estndar de Java se facilitan como cdigo cerrado, es
decir, como cdigo mquina. No podemos acceder al cdigo fuente.
Esto tiene su lgica porque si cada persona accediera al cdigo fuente
de los elementos esenciales de Java y los modificara, no habra
compatibilidad ni homogeneidad en la forma de escribir programas
Java. Aunque no podamos acceder al cdigo fuente, s podemos crear
objetos de los tipos definidos en la librera e invocar sus mtodos.
Para ello lo nico que hemos de hacer es conocer las clases y la
signatura de los mtodos.

PROGRAMACION ORIENTADA A OBJETOS


(OOP).
En la programacin orientada a objetos, se definen objetos que
conforman una aplicacin. Estos objetos estn formados por una serie
de caractersticas y operaciones que se pueden realizar sobre los
mismos. Estos objetos no estn aislados en la aplicacin, sino que se
comunican entre ellos.
Qu es un objeto?
Instancia de una clase. Entidad provista de un conjunto de
propiedades o atributos (datos) y de comportamiento o funcionalidad
(mtodos), los mismos que consecuentemente reaccionan a eventos.
Se corresponden con los objetos reales del mundo que nos rodea, o
con objetos internos del sistema (del programa). En terminologa de
programacin orientada a objetos, a las caractersticas del objeto se
les denomina ATRIBUTOS y a las operaciones MTODOS. No puede
concebirse nicamente en funcin de los datos o de las operaciones
sino en su conjunto.
Qu es una clase?
Definiciones de las propiedades y comportamiento de un tipo de
objeto concreto. La instanciacin es la lectura de estas definiciones y
la creacin de un objeto a partir de ella.
Una clase est formada por una parte correspondiente a la
declaracin, y otra correspondiente al cuerpo de la misma:

Declaracin de clase {
Cuerpo de clase
}
Dentro del cuerpo de la clase se declaran los atributos y los mtodos
de la clase

Propiedades que debe cumplir un lenguaje para ser


considerado Orientado a Objetos.
1. Encapsulamiento: Se denomina Encapsulamiento al
ocultamiento de los atributos de un objeto de manera que slo
se pueda cambiar mediante las operaciones definidas para ese
objeto.
Cada objeto est aislado del exterior, es un mdulo natural, y la
aplicacin entera se reduce a un agregado o rompecabezas de
objetos. El aislamiento protege a los datos asociados de un
objeto contra su modificacin por quien no tenga derecho a
acceder a ellos, eliminando efectos secundarios e interacciones.
2. Abstraccin: La abstraccin consiste en aislar un elemento de
su contexto o del resto de los elementos que lo acompaan.
3. Herencia: Un objeto que pertenece a una clase casa y a otra
chalet puede utilizar los procedimientos que se encuentran en
la clase casa.
4. Polimorfismo.
Todo programa independiente escrito en Java empieza a ejecutarse a
partir del mtodo main(). Se pueden compilar clases que no posean
mtodo main(), pero el intrprete Java no podr ejecutarlas
inicialmente, aunque s pueden ejecutarse si son llamadas desde otro
mtodo en ejecucin.

Declaracin del mtodo main():


1. public: indica que el mtodo main() es pblico y, por tanto,
puede ser llamado desde otras clases. Todo mtodo main()
debe ser pblico para poder ejecutarse desde el intrprete Java
(JVM).

2. static: indica que la clase no necesita ser instanciada para


poder utilizar el mtodo al que califica. Tambin indica que el
mtodo es el mismo para todas las instancias que pudieran
crearse (mtodo de clase).
3. void: indica que la funcin main no devuelve ningn valor.
4. El mtodo main debe aceptar siempre, como parmetro, un
vector de strings, que contendr los posibles argumentos que
se le pasen al programa en la lnea de comandos, aunque como
es nuestro caso, no se utilice.
El mtodo main() siempre se declara de la misma forma:
public static void main(String args[])

DEFINICIONES
-Programa informtico.
Conjunto de instrucciones u rdenes dadas al ordenador, en un
lenguaje que entiende (mquina), para decirle exactamente lo que
queremos que haga.
- Algoritmo.
Se denomina algoritmo a un grupo finito de operaciones organizadas
de manera lgica y ordenada que permite solucionar un determinado
problema. Se trata de una serie de instrucciones o reglas establecidas
que, por medio de una sucesin de pasos, permiten arribar a un
resultado o solucin.
- Variable.
Una variable est formada por un espacio en el sistema de
almacenaje (memoria principal de un ordenador) y un nombre
simblico (un identificador) que est asociado a dicho espacio. Ese
espacio contiene una cantidad o informacin conocida o desconocida,
es decir un valor. El nombre de la variable es la forma usual de
referirse al valor almacenado: esta separacin entre nombre y
contenido permite que el nombre sea usado independientemente de
la informacin exacta que representa. El identificador, en el cdigo
fuente de la computadora puede estar ligado a un valor durante el
tiempo de ejecucin y el valor de la variable puede por lo tanto
cambiar durante el curso de la ejecucin del programa.
Caractersticas:

1.
2.
3.
4.

Son definidas por el programador,


Su valor cambia durante su tiempo de vida.
Su nombre se lo da el programador.
Hay que declarar el tipo de dato que almacenan:
a. Entero:Almacena valores numricos enteros con o sin
signo.
b. Real:Almacena valores numricos decimales.
c. Carcter:Almacenan un carcter.
d. Alfanumricos:Almacenan cadenas de caracteres.
e. Lgico:Almacenan valores booleanos.

- Constante.
Una constante es un valor que no puede ser alterado/modificado
durante la ejecucin de un programa, nicamente puede ser ledo.
Una constante corresponde a una longitud fija de un rea reservada
en la memoria principal del ordenador, donde el programa almacena
valores fijos.
Tipos:
1. Literales ( NO HAY QUE DEFINIRLAS ) :
a. Literales o constantes alfanumricas: Siempre
vanencerradas entre dobles comillas, para distinguirlas de
los nombres de variables. Ejemplo: Hola.
b. Caracteres:Siempre van encerradas entre comillas
simples. Ejemplo: H, p.
c. Constantes numricas: ejemplo: 3, 23, 900.
2. Simblicas (HAY QUE DEFINIRLAS): Son aquellas a las que
se les asigna un nombre. Ej. Const real PI=3,14.
- Clase.
Definiciones de las propiedades y comportamiento de un tipo de
objeto concreto. La instanciacin es la lectura de estas definiciones y
la creacin de un objeto a partir de ella.
- Objeto.
Instancia de una clase. Entidad provista de un conjunto de
propiedades o atributos (datos) y de comportamiento o funcionalidad
(mtodos), los mismos que consecuentemente reaccionan a eventos.
Se corresponden con los objetos reales del mundo que nos rodea, o
con objetos internos del sistema (del programa). Es una instancia a
una clase.

- Mtodo.
Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecucin se desencadena tras la recepcin de un "mensaje". Desde
el punto de vista del comportamiento, es lo que el objeto puede
hacer. Un mtodo puede producir un cambio en las propiedades del
objeto, o la generacin de un "evento" con un nuevo mensaje para
otro objeto del sistema.
- Atributo.
Los atributos de una clase son las caractersticas que se van a tener
en cuenta sobre un objeto y por lo tanto su mbito est circunscrito,
en principio, dentro de la clase a la cual caracterizan. Se declaran de
la misma forma que las variables locales pero, adems, pueden tener
algunos modificadores que afectan al mbito de los mismos.
- Encapsulamiento.
Se denomina Encapsulamiento al ocultamiento de los atributos de un
objeto de manera que slo se pueda cambiar mediante las
operaciones definidas para ese objeto.
Cada objeto est aislado del exterior, es un mdulo natural, y la
aplicacin entera se reduce a un agregado o rompecabezas de
objetos. El aislamiento protege a los datos asociados de un objeto
contra su modificacin por quien no tenga derecho a acceder a ellos,
eliminando efectos secundarios e interacciones.
- Abstraccin.
La abstraccin consiste en aislar un elemento de su contexto o del
resto de los elementos que lo acompaan.

- Acceso a los miembros de una clase.(private, public)


Para controlar el acceso a nuestros atributos y mtodos se utilizan los
modificadores de acceso que no son ms que palabras reservadas del
lenguaje que se encargarn de controlar desde dnde sern
accesibles los miembros de una clase, estos modificadores son:
1. Private (Acceso solo dentro de la clase)
2. Protected (Acceso desde la clase y sus hijos "herencia")

3. Void (Sin escribir nada, denominado acceso de paquete)


4. Public (Acceso pblico desde cualquier lugar)
Con los modificadores de acceso, evitamos que nuestros
programas tengan un uso no deseado, como modificar atributos
introduciendo valores invlidos o llamando a mtodos que pueden
tener efectos no deseados.
- Instanciacin.
Una instancia se refiere a una realizacin especfica de una clase o
prototipo determinados.
- Constructor.
Cuando se construye un objeto es necesario inicializar sus variables
con valores coherentes, imaginemos un objeto de la clase Persona
cuyo atributo color de pelo al nacer sea verde, un estado incorrecto
tras construir el objeto persona. La solucin en los lenguajes
orientados a objetos es emplear los constructores. Un constructor es
un mtodo perteneciente a la clase que posee unas caractersticas
especiales:
1. Se llama igual que la clase.
2. No devuelve nada, ni siquiera void.
3. Pueden existir varios, pero siguiendo las reglas de la sobrecarga
de funciones.
4. De entre los que existan, tan slo uno se ejecutar al crear un
objeto de la clase.
Dentro del cdigo de un constructor generalmente suele existir
inicializaciones de variables y objetos, para conseguir que el objeto
sea creado con dichos valores iniciales.
- static
Los atributos miembros de una clase pueden ser atributos de clase o
atributos de instancia; se dice que son atributos de clase si se usa la
palabra clave static: en ese caso la variable es nica para todas las
instancias (objetos) de la clase (ocupa un nico lugar en memoria).
A veces a las variables de clase se les llama variables estticas. Si no
se usa static, el sistema crea un lugar nuevo para esa variable con
cada instancia (la variable es diferente para cada objeto). En el caso
de una constante no tiene sentido crear un nuevo lugar de memoria
por cada objeto de una clase que se cree. Por ello es adecuado el uso
de la palabra clave static. Cuando usamos static final se dice que

creamos una constante de clase, un atributo comn a todos los


objetos de esa clase.

- final
La palabra reservada final indica que una variable es de tipo
constante: no admitir cambios despus de su declaracin y
asignacin de valor. final determina que un atributo no puede ser
sobrescrito o redefinido. O sea: no funcionar como una variable
tradicional, sino como una constante. Toda constante declarada con
final ha de ser inicializada en el mismo momento de declararla. final
tambin se usa como palabra clave en otro contexto: una clase final
(final) es aquella que no puede tener clases que la hereden. Lo
veremos ms adelante cuando hablemos sobre herencia.