Vous êtes sur la page 1sur 46

Programación a Objetos I

Tema 1 Conceptos básicos del


modelo orientado a objetos

Tema 2 Introducción a la
programación orientada a objetos

Adriana Hernández Camarillo


adrianah@juppa.edu.mx
Contenido
1. Conceptos básicos del modelo orientado a objetos
1. Historia de los paradigmas en el desarrollo del
software.
2. Programación orientada a objetos, conceptos y
características.
3. Reconocimiento de objetos y clases en el mundo real y
la interacción entre ellos.
4. Elementos primordiales en el modelo de objetos
Abstracción, Encapsulamiento, Modularidad, Jerarquía
y herencia, Polimorfismo.
1. Beneficios del modelo de objetos y de la POO sobre
otros paradigmas.
Programación Orientada a Objetos I 2 Universidad de la Sierra de Juárez
Contenido
2. Introducción a la programación orientada a objetos
1. Datos
1. Tipos de datos
2. Identificadores
3. Arreglo unidimensional y bidimensionales
4. Cadenas de caracteres
2. Operadores, operandos y expresiones
3. Prioridad de operadores, evaluación de expresiones
4. Definición de clases, atributos, métodos y objetos
5. Modificadores de acceso
6. Encapsulamiento de la clase
7. Estructura básica de un programa
Programación Orientada a Objetos I 3 Universidad de la Sierra de Juárez
Java

Java no es sólo un lenguaje de programación, Java


es además un sistema de tiempo de ejecución, un
juego de herramientas de desarrollo y una interfaz
de programación de aplicaciones (API).

Programación Orientada a Objetos I 4 Universidad de la Sierra de Juárez


Java

Programación Orientada a Objetos I 5 Universidad de la Sierra de Juárez


¿Cómo trabaja Java?

Programación Orientada a Objetos I 6 Universidad de la Sierra de Juárez


¿Qué harás en Java ?

Compilar el
archivo Ejecuta el
fiesta.java con programa
Escribir tu javac. Si no inicializando la
código fuente hay errores se Máquina Virtual
Guardarlo como: producirá el de Java (JVM).
Fiesta.java archivo Código
Fiesta.class compilado :
Fiesta.class

Programación Orientada a Objetos I 7 Universidad de la Sierra de Juárez


Estructura de código en Java

Se ponen clases dentro de un archivo fuente


Se ponen métodos dentro de una clase
Se ponen instrucciones dentro de una clase

public class Perro { public class Perro { public class Perro {


void ladrar(){ void ladrar(){
sentencia1;
} } sentencia2;
} }
}

Programación Orientada a Objetos I 8 Universidad de la Sierra de Juárez


Escribiendo una clase

Programación Orientada a Objetos I 9 Universidad de la Sierra de Juárez


Qué se puede hacer en un
método main
• Sentencias : declaraciones, asignaciones, invocación
de métodos ,etc.

• Ciclos : for y while

• Condicionales : if / else

Programación Orientada a Objetos I 10 Universidad de la Sierra de Juárez


Eclipse
• Entorno de desarrollo integrado de código abierto
multiplataforma.

• Esta plataforma, típicamente ha sido usada para


desarrollar entornos de desarrollo integrados(IDE),
IDE
como el IDE de Java llamado Java Development
Toolkit (JDT) y el compilador (ECJ) que se entrega
como parte de Eclipse. Sin embargo, también se
puede usar para otros tipos de aplicaciones cliente.

Programación Orientada a Objetos I 11 Universidad de la Sierra de Juárez


Eclipse
Perspectiva
Java

Espacio de trabajo Espacio de edición En este panel se


Aquí se pueden ver de clases muestra la
los proyectos estructura de la
incluidos en el clase editada
espacio de trabajo (atributos y
indicado y ver la métodos)
estructura de cada
proyecto (paquetes
y clases)
Programación Orientada a Objetos I 12 Universidad de la Sierra de Juárez
Eclipse – Creando un proyecto
File → New → Project → Java → Java Project

Programación Orientada a Objetos I 13 Universidad de la Sierra de Juárez


Eclipse – Creando un proyecto

Programación Orientada a Objetos I 14 Universidad de la Sierra de Juárez


Eclipse – Creando una clase
File → New → Class

Programación Orientada a Objetos I 15 Universidad de la Sierra de Juárez


Eclipse – Creando una clase

Programación Orientada a Objetos I 16 Universidad de la Sierra de Juárez


INTRODUCCIÓN A LA
PROGRAMACIÓN ORIENTADA A
OBJETOS

Programación Orientada a Objetos I 17 Universidad de la Sierra de Juárez


Identificadores
• Los identificadores se usan para nombrar y referirnos
a las entidades del lenguaje Java (clases, variables o
métodos).
• Un identificador no puede ser una palabra reservada.

Programación Orientada a Objetos I 18 Universidad de la Sierra de Juárez


Variables
• Una variable es un nombre que contiene un valor que
puede cambiar a lo largo del programa.

• Las variables deben tener


un tipo y un nombre.

Rabbit cesto = new Giraffe();

Programación Orientada a Objetos I 19 Universidad de la Sierra de Juárez


Variables
• Tipos de variables
• Variables de tipos primitivos. Están definidas
mediante un valor único que puede ser entero, de
punto flotante, carácter o booleano. Java permite
distinta precición y distintos rangos de valores para
estos tipos de variables (char, byte, short, int, long,
float, double, boolean).
• Variables referencia. Las variables referencia son
referencias o nombres de una información más
compleja: arrays u objetos de una determinada clase.

Programación Orientada a Objetos I 20 Universidad de la Sierra de Juárez


Variables
• Desde el punto de vista del papel o misión en el
programa, las variables pueden ser:
• Variables miembro de una clase: Se definen en una
clase, fuera de cualquier método; pueden ser tipos
primitivos o referencias.
• Variables locales: Se definen dentro de un método o
más en general dentro de cualquier bloque entre llaves
{}. Se crean en el interior del bloque y se destruyen al
finalizar dicho bloque. Pueden ser también tipos
primitivos o referencias.

Programación Orientada a Objetos I 21 Universidad de la Sierra de Juárez


Tipos primitivos
Tipo Tamaño (bits) Rango de valores
boolean y char
boolean especificado-JVM true o false
char 16 bits 0 a 65535
numéricos (todos con signo)
enteros
byte 8 bits -128 a 127
short 16 bits -32768 a 32767
int 32 bits -2147483648 a 2147483647
long 64 bits -9223372036854775808 a
9223372036854775807

Programación Orientada a Objetos I 22 Universidad de la Sierra de Juárez


Tipos primitivos
Tipo Tamaño (bits) Rango de valores
numéricos (todos con signo)
punto flotante
float 32 bits Entre 6 y 7 cifras decimales
equivalentes. De -3402823E38
a -1401298E-45 y de
1401298E-45 a 3402823E38
double 32 bits Unas 15 cifras decimales
equivalentes.
De -179769313486232E308 a
-494065645841247E-324 y de
494065645841247E-324 a
179769313486232E308

Programación Orientada a Objetos I 23 Universidad de la Sierra de Juárez


Declaración e inicialización de
variables
• Las variables son sólo vasos. Son contenedores que
sirven para almacenar algo.
Variables primitivas
int x;
x = 234;
byte b = 89;
boolean disponible = true;
double d = 3456.98;
char c = ‘f’;
int z = x;
boolean encendido = disponible;
long l = 3456789;
float f = 32.5f;

Programación Orientada a Objetos I 24 Universidad de la Sierra de Juárez


Variables
Qué expresiones podrían ser validas, si estas líneas
estuvieran en un método simple.
1. int x = 34.5;
2. boolean boo = x;
3. int g = 17;
4. int y = g;
5. y = y + 10;
6. short s;
7. s = y;
8. byte b = 3;
9. byte v = b;
10. short n = 12;
11. v= n;
12. byte k = 128;
Programación Orientada a Objetos I 25 Universidad de la Sierra de Juárez
Variables
Variables no primitivas (referencia)

• Una referencia es una variable que indica dónde


está guardado un objeto en la memoria.
• Al declarar una referencia todavía no se encuentra
“apuntando” a ningún objeto en particular (salvo que
se cree explícitamente un nuevo objeto en la
declaración). Si se desea que esta referencia
apunte a un nuevo objeto es necesario crear el
objeto utilizando el operador new.

Programación Orientada a Objetos I 26 Universidad de la Sierra de Juárez


Variables no primitivas
(referencia)

• Una variable primitiva es un


conjunto de bits
representando el valor actual
de la variable. En cambio,
una variable referencia a un
objeto es un conjunto de bits
representando la forma de
acceder al objeto.

Programación Orientada a Objetos I 27 Universidad de la Sierra de Juárez


Variables no primitivas
(referencia)
Una referencia de objeto es sólo otro
valor de variable.
Algo que va en un vaso (contenedor).
Sólo que esta vez, el valor es un “control
remoto” para acceder a alguna cosa.

Variables primitivas Variables referencia


byte x = 7; Dog myDog = new Dog();
Los bits representando Los bits representando la
al 7 van dentro de la forma de acceder al objeto
variable (00000111) Dog van dentro de la
variable.
El objeto Dog no va dentro
de la variable.
Programación Orientada a Objetos I 28 Universidad de la Sierra de Juárez
Variables no primitivas
(referencia)

Book b = new Book();


Book d = c; c = b;
Book c = new Book();

Programación Orientada a Objetos I 29 Universidad de la Sierra de Juárez


Array
Declarar una variable 2 Crear un nuevo arreglo
1
array. Una variable array de enteros con longitud
es un control remoto a un de 7, y asignarlo a la
objeto array. variable nums declarada
int[] nums; anteriormente.
nums = new int[7];

3 Dar a cada elemento en


el array un valor int.
num[0]=6;
num[1]=19;
num[2]=44;
num[3]=42;
num[4]=10;
num[5]=20;
num[6]=1;

Programación Orientada a Objetos I 30 Universidad de la Sierra de Juárez


Array
int[][] matriz = new int[4][4];

String[] semana = {“lunes”, “martes”, “miércoles”,


“jueves”,“viernes”,“sábado”, “domingo”};

int diasSemana = semana.length;

Programación Orientada a Objetos I 31 Universidad de la Sierra de Juárez


String
• NO es un tipo primitivo en Java.
• Es una clase implementada en la librería estandar
(java.lang).
String st = “”; // String vacío
String st1 = “Hola”;
String st2 = “cómo estas?”;
String st3 = st1 + “ “ + st2;
// st3 vale “Hola cómo estas?”
String st = “numero: ” + 3; // st vale “numero: 3”

Programación Orientada a Objetos I 32 Universidad de la Sierra de Juárez


String
String st = “String de ejemplo”;
String st2 = “String de ejemplo”;
• st.length(). Devuelve la longitud de la cadena st.
• st.substring(a, b). Devuelve la subcadena a partir
de la posición a (incluida) hasta la b (no incluida).
• st.charAt(n). Devuelve el carácter en la posición n.
• st.equals(st2). Devuelve un booleano que evalúa a
cierto si los dos String st y st2 son iguales, en
este caso valdrá true.

Programación Orientada a Objetos I 33 Universidad de la Sierra de Juárez


Operadores
• Operadores aritméticos

Programación Orientada a Objetos I 34 Universidad de la Sierra de Juárez


Operadores
• Operadores de asignación
• El operador de asignación por excelencia es el
operador igual (=).
variable = expresión;

Programación Orientada a Objetos I 35 Universidad de la Sierra de Juárez


Operadores
• Operadores incrementales
• Java dispone del operador incremento (++) y
decremento (--). El operador (++) incrementa en una
unidad la variable a la que se aplica, mientras que (--) la
reduce en una unidad.
1. Precediendo a la variable (por ejemplo: ++i). En
este caso primero se incrementa la variable y luego
se utiliza (ya incrementada) en la expresión en la
que aparece.
2. Siguiendo a la variable (por ejemplo: i++). En este
caso primero se utiliza la variable en la expresión
(con el valor anterior) y luego se incrementa.
Programación Orientada a Objetos I 36 Universidad de la Sierra de Juárez
Operadores
• Operadores relacionales
• Sirven para realizar comparaciones de igualdad,
desigualdad y relación de menor o mayor. El resultado
de estos operadores es siempre un valor boolean (true
o false).

Programación Orientada a Objetos I 37 Universidad de la Sierra de Juárez


Operadores
• Operadores lógicos
• Se utilizan para construir expresiones lógicas,
combinando valores lógicos (true y/o false) o los
resultados de los operadores relacionales.

Programación Orientada a Objetos I 38 Universidad de la Sierra de Juárez


Operadores
• Operadores de manipulación de bits

Programación Orientada a Objetos I 39 Universidad de la Sierra de Juárez


Operadores
• Operadores de asignación a nivel de bits

Programación Orientada a Objetos I 40 Universidad de la Sierra de Juárez


Operadores
• Operador instaceof
• Permite saber si un objeto pertenece o no a una
determinada clase.
objectName instanceof ClassName
y devuelve true o false según el objeto pertenezca o
no a la clase.
• Operador condicional ?:
• Permite realizar bifurcaciones condicionales sencillas.
booleanExpression ? res1 : res2
donde se evalúa booleanExpression y se devuelve
res1 si el resultado es true y res2 si el resultado es
false
Programación Orientada a Objetos I 41 Universidad de la Sierra de Juárez
Operadores
• Operador new
• Crea un nuevo objeto de una clase
new MiClase()

• Conversión de tipo (casting)


• Convierte un valor a un tipo de dato determinados.
(char) x

Programación Orientada a Objetos I 42 Universidad de la Sierra de Juárez


Precedencia de operadores

Programación Orientada a Objetos I 43 Universidad de la Sierra de Juárez


Condicionales
• Permiten desviar el flujo de ejecución por una rama u
otra dependiendo de la evaluación de una condición.

Programación Orientada a Objetos I 44 Universidad de la Sierra de Juárez


Condicionales
• Sentencia switch
• Se trata de otra alternativa a la bifurcación if else if
else cuando se compara la misma expresión con
distintos valores.

Programación Orientada a Objetos I 45 Universidad de la Sierra de Juárez


Ciclos
• Se utilizan para realizar un proceso repetidas veces.

• while

• do.. while

• for

Programación Orientada a Objetos I 46 Universidad de la Sierra de Juárez

Vous aimerez peut-être aussi