


































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: IP1, Profesor: Diana Borrego, Carrera: Ingeniería Informática - Ingeniería de Computadores, Universidad: US
Tipo: Apuntes
1 / 42
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



































1
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
1er. Cuatrimestre 1er. Cuatrimestre
2
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
2º. Cuatrimestre 2º. Cuatrimestre
4
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Evolución de los lenguajes de Programación.Evolución de los lenguajes de Programación.
Conceptos básicos de Programación Orientada aConceptos básicos de Programación Orientada aObjetos.Objetos.
Objetos Objetos
Interface Interface
Clase Clase
Paquete Paquete
Herencia de Interfaces y Clases.Herencia de Interfaces y Clases.
Ventajas de la POO.Ventajas de la POO.
Convenciones Java. Reglas de estilo.Convenciones Java. Reglas de estilo.
Ejemplo.Ejemplo.
5
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Entenderemos, de manera simplista, que un programa
programa es
es
un conjunto de instrucciones o sentencias que permiten un conjunto de instrucciones o sentencias que permiten
a una computadora, en unas ocasiones, realizar una tarea a una computadora, en unas ocasiones, realizar una tarea
y, en otras, una diferente. y, en otras, una diferente.
las
primeras
computadoras
la
programación
se
En
las
primeras
computadoras
la
programación
se
realizaba modificando el hardware de las mismas. Se realizaba modificando el hardware de las mismas. Se
cableaban cableaban las unidades de memoria y las unidades de
las unidades de memoria y las unidades de
cálculo. cálculo.
adelante
se
inventaron
los
lenguajes.
Los
más
Más
adelante
se
inventaron
los
lenguajes.
Los
más
primitivos
fueron
los
denominados
primitivos
fueron
los
denominados
lenguajes
máquina
lenguajes
máquina.
Estos lenguajes se basaban en el hardware, con lo que Estos lenguajes se basaban en el hardware, con lo que
cada
máquina
tenía
su
propio
lenguaje
y
por
ello
la
cada
máquina
tenía
su
propio
lenguaje
y
por
ello
la
programación era un trabajo costoso, válido sólo para programación era un trabajo costoso, válido sólo para
esa máquina en concreto. esa máquina en concreto.
**1. Evolución de los lenguajes de Programación
7
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
**1. Evolución de los lenguajes de Programación
A medida que las necesidades crecían en paralelo con la
tecnología se desarrollaron diversos tipos tecnología se desarrollaron diversos tipos
de lenguajes de lenguajes
de programación de alto nivel: de programación de alto nivel:
Lenguajes Lenguajes
Procedurales Procedurales,
cuya
característica
cuya
característica
principal es la de descomponer una tarea a ejecutar principal es la de descomponer una tarea a ejecutar
por la computadora en otras subtareas en las que se por la computadora en otras subtareas en las que se
describe cómo se hacen las operaciones y con qué describe cómo se hacen las operaciones y con qué
datos. Asimismo
y de modo apropiado se indica la
datos. Asimismo
y de modo apropiado se indica la
elección de cada subtarea a ejecutar, así como, en elección de cada subtarea a ejecutar, así como, en
su caso, la repetición de alguna o algunas de ellas. su caso, la repetición de alguna o algunas de ellas.
Lenguajes Declarativos Lenguajes Declarativos, en este caso mediante un
, en este caso mediante un
lenguaje muy natural se indica qué tareas se deben lenguaje muy natural se indica qué tareas se deben
ejecutar sin entrar en cómo. El lenguaje posee una ejecutar sin entrar en cómo. El lenguaje posee una
serie de estructuras predefinidas que resuelven la serie de estructuras predefinidas que resuelven la
tarea elegida. tarea elegida.
8
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
**1. Evolución de los lenguajes de Programación
Lenguajes Orientados a Objetos (LOO) Lenguajes Orientados a Objetos (LOO), son los que
, son los que
están basados en la modelización de los objetos del están basados en la modelización de los objetos del
mundo real o incluso virtual. Estos objetos tienen mundo real o incluso virtual. Estos objetos tienen
una representación en el mundo real a base de una una representación en el mundo real a base de una
serie
de
características
que
interesan
para
el
serie
de
características
que
interesan
para
el
problema
a
resolver,
pe.
problema
a
resolver,
pe.
una
persona
una
persona
tiene
un
tiene
un
nombre,
una
fecha
de
nacimiento,
unos
estudios,
nombre,
una
fecha
de
nacimiento,
unos
estudios,
etc.,
o
pe,
etc.,
o
pe,
una
teoría
científica
una
teoría
científica
tiene
un
o
unos
tiene
un
o
unos
creadores,
una
tesis,
un
fundamento,
un
o
unos
creadores,
una
tesis,
un
fundamento,
un
o
unos
detractores, etc. (observemos que los creadores o detractores, etc. (observemos que los creadores o
los detractores son a su vez otros objetos del tipo los detractores son a su vez otros objetos del tipo
persona). persona).
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
**1. Evolución de los lenguajes de Programación
La principal referencia para estudiar Java es
http://java.sun.com/docs/books/tutorial/index.html
La características principales de Java son:
Neutro con respecto a la Arquitectura, Portable,Distribuido
Orientado a objetos, Seguro,
Multihilos, Dinámico
Características de JAVA Características de JAVA
11
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
**1. Evolución de los lenguajes de Programación
La plataforma Java tiene dos componentes:
La máquina virtual (Java Virtual Machine, JVM)
El interfaz de programación (Java ApplicationProgramming Interface (API)
Un programa Java se compone de un conjunto de clasesagrupadas en paquetes
Caracteristicas Caracteristicas de JAVA
de JAVA
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
objetos
tienen
un
estado
y
una
funcionalidad
Los
objetos
tienen
un
estado
y
una
funcionalidad
asociada asociada
El estado El estado indica: ¿cómo se encuentra el objeto? Ello
indica: ¿cómo se encuentra el objeto? Ello
se sabe consultado las propiedades del mismo, que se sabe consultado las propiedades del mismo, que
son
las
que
definen
al
objeto.
Las
propiedades
son
las
que
definen
al
objeto.
Las
propiedades
pueden
ser
de
diversos
tipos
(números
enteros,
pueden
ser
de
diversos
tipos
(números
enteros,
reales, textos, reales, textos, booleanos
booleanos,
, etc
etc)
La funcionalidad La funcionalidad de un objeto se ofrece a través de
de un objeto se ofrece a través de
un
conjunto
de
programas
que
se
denominan
un
conjunto
de
programas
que
se
denominan
“métodos”. Los métodos actúan sobre el estado del “métodos”. Los métodos actúan sobre el estado del
objeto
(pueden
consultar
o
modificar
las
objeto
(pueden
consultar
o
modificar
las
propiedades) y son el mecanismo de comunicación del propiedades) y son el mecanismo de comunicación del
objeto con el exterior. objeto con el exterior.
**2. Conceptos básicos de POO.
Objeto. Objeto.
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Objeto ( Objeto (cont
cont).
**2. Conceptos básicos de POO.
Opel Opel
Astra Astra
Ejemplo de objeto “automóvil” con atributos:Marca, Modelo, Capacidad Depósito, númerode asientos…En
definitiva,
es
una
zona
de
memoria
reservada al objeto y donde están los valoresque tiene cada atributo.
Ejemplo de objeto “automóvil” con atributos: Ejemplo de objeto “automóvil” con atributos:
Marca, Modelo, Capacidad Depósito, número Marca, Modelo, Capacidad Depósito, número
de asientos… de asientos…
En
definitiva,
es
una
zona
de
memoria
En
definitiva,
es
una
zona
de
memoria
reservada al objeto y donde están los valores reservada al objeto y donde están los valores
que tiene cada atributo. que tiene cada atributo.
Llamaremos “propiedades” a Llamaremos “propiedades” a
estos atributos con sus estos atributos con sus
correspondientes valores correspondientes valores
1616
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Objeto ( Objeto (cont
cont).
**2. Conceptos básicos de POO.
Encapsulación: Encapsulación:
Es
un
concepto
clave
en
la
y
Es
un
concepto
clave
en
la
y
consiste
en
ocultar
la
forma
en
que
se
almacena
la
consiste
en
ocultar
la
forma
en
que
se
almacena
la
información
que
determina
el
estado
del
objeto.
Ello
información
que
determina
el
estado
del
objeto.
Ello
conlleva,
el
obligar
a
que
toda
la
interacción
con
los
conlleva,
el
obligar
a
que
toda
la
interacción
con
los
atributos
del
mismo
se
haga
a
través
de
ciertos
atributos
del
mismo
se
haga
a
través
de
ciertos
métodos implementados con ese propósito. (Se trata de métodos implementados con ese propósito. (Se trata de
ocultar
información
irrelevante
para
quien
utiliza
el
ocultar
información
irrelevante
para
quien
utiliza
el
objeto). objeto).
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Los métodos Los métodos son unidades de programas que, mediante
son unidades de programas que, mediante
determinados convenios, logra consultar o modificar las determinados convenios, logra consultar o modificar las
propiedades de un objeto determinado. propiedades de un objeto determinado.
Por tanto, para Por tanto, para consultar o modificar
consultar o modificar los valores de los
los valores de los
atributos de un objeto será necesario implementar los atributos de un objeto será necesario implementar los
métodos apropiados. métodos apropiados.
**2. Conceptos básicos de POO.
public String toString() {
String s="("+getX()+","+ getY()+")";return s;
}
public String toString() {
String s="("+getX()+","+ getY()+")";return s;
}
Cuerpo
Cabecera
Métodos Métodos
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Interface Interface (
(cont.
cont.). Ejemplo:
). Ejemplo:
**2. Conceptos básicos de POO.
Supongamos que queremos modelar un objeto “ Supongamos que queremos modelar un objeto “p
p” que
” que
llamaremos “punto” del plano. Para ello definiremos una llamaremos “punto” del plano. Para ello definiremos una
interfaz
con
un
interfaz
con
un
contrato contrato
(comportamiento
que
(comportamiento
que
obligatoriamente deben tener los objetos de una clase obligatoriamente deben tener los objetos de una clase
que implemente dicho contrato), que permita consultar la que implemente dicho contrato), que permita consultar la
abscisa, la ordenada, modificar la abscisa o la ordenada. abscisa, la ordenada, modificar la abscisa o la ordenada.
interface Punto {
double getX();double getY();void setX(double x1);void setY(double y1);
}
interface Punto {
double getX();double getY();void setX(double x1);void setY(double y1);
}
para que el punto “ para que el punto “p
p” tome el
” tome el
valor (3, valor (3,-
-4), haremos
4), haremos
p p.setX
.setX(3);
p p.setY
.setY(
p
p
Curso 07/08. tema 1
Universidad de Sevilla. Dpto. Lenguajes y Sistemas InformáticosUniversidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos
Clases Clases
**2. Conceptos básicos de POO.
Son las unidades de la POO que permiten, de un lado, Son las unidades de la POO que permiten, de un lado,
definir
las
propiedades
de
los
objetos
(llamados
definir
las
propiedades
de
los
objetos
(llamados
atributos) y, de otro, la funcionalidades ofrecidas por los atributos) y, de otro, la funcionalidades ofrecidas por los
objetos (llamados métodos). objetos (llamados métodos).
La sintaxis responde al siguiente patrón: La sintaxis responde al siguiente patrón:
[Modificadores] class
NombreClase
[extends ...] [implements ...] {
[atributos (propiedades)][métodos (funciones)]
}
[Modificadores] class
class
NombreClase
[extends ...] [implements ...] {
{
[atributos (propiedades)][métodos (funciones)]
} }
A medida que vayamos avanzando iremos viendo cada una de las cláusulas anteriores