La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Orientada a Objetos

Presentaciones similares


Presentación del tema: "Programación Orientada a Objetos"— Transcripción de la presentación:

1 Programación Orientada a Objetos
Orientación a Objetos en Java

2 Agenda Creación de Clases Tipo de datos Variables
Operaciones aritméticas

3 Objetos Objeto: entidad física o abstracta.
Valores (datos): definen las características del objeto. Métodos: definen el comportamiento del mismo. Ej: Objeto Estudiante con sus características y su comportamiento Estudiante nombre edad +getNombre() +getEdad() +setNombre(String n) +setEdad(int e) +toString()

4 Definiciones Clases (propiedades, métodos y comportamiento): Utilizada en los LOO para representar a los objetos abstractos. Son utilizadas para crear los tipos de datos Abstractos. Ejercicio: Escriba el código en Java para implementar el “cascarón” de la clase Estudiante vista anteriormente

5 Primitivas de codificación
Tipo de datos

6 ¿Qué es un “tipo” de datos?
Los tipos de datos son categorías de características asociadas a un grupo de valores en particular. Por ejemplo: los números enteros, los números reales, los caracteres, las hileras de texto tienen un tipo de dato asociado. De esta forma la información puede ser clasificada de acuerdo al uso que se le da a la misma.

7 Los tipos permiten categorizar la información
‘b’ ‘c’ ‘d’ caracter Verdadero Falso booleano 1 2 3 1.5 3.79 2.18 Tipo numérico entero real “Casa” “Escuela” “Perro” “Línea” hileras de texto

8 ¿Para que sirven los tipos de datos lógicos o booleanos?
Se utilizan para representar condiciones lógicas que toman uno de dos posibles valores: falso ó verdadero. La palabra “Booleano” proviene del nombre del matemático George Boole (Boole, 1848) quien formalizó el álgebra sobre dos valores lógicos.

9 ¿Cómo se pueden representar tipos de datos numéricos enteros en Java?
Los tipos de dato enteros en Java son: Tipo Nombre Tamaño Rango Byte byte 8 bits Desde -128 hasta +127 Entero corto short 16 bits Desde hasta Entero int 32 bits Desde hasta Entero largo long 64 bits Desde hasta

10 ¿Cómo se pueden representar tipos de datos numéricos reales en Java?
Los tipos de datos de punto flotante son: Tipo Nombre Tamaño Rango Punto flotante simple float 32 bits Desde E+38 Hasta E-45 Desde E-45 Hasta E+38 Punto flotante doble double 64 bits Desde E+308 Hasta E-324 Desde E-324 Hasta E+308

11 ¿Cómo se representan los literales de caracter en Java?
Tipo caracter: Son aquellos que se utilizan para representar: letras, dígitos, símbolos especiales y caracteres de escape. Los caracteres se representan con una notación especial para no confundirlos con otros elementos del lenguaje. En Java, un caracter se representa mediante un símbolo encerrado entre comillas simples. Ejemplos: ‘a’, ‘A’, ‘9’. También existen caracteres especiales conocidos como secuencias de escape.

12 ¿Qué son secuencias de escape?
Algunos caracteres especiales (el cambio de línea, por ejemplo) requieren de una representación distinta. Esta representación es llamada secuencia de escape. En Java, los caracteres de escape van precedidos por un “backslash” \.

13 Caracteres de escape en Java
Secuencia Significado ‘\n’ Cambio de línea ‘\t’ Tabulador ‘\\’ El caracter \ “\”” El caracter “ ‘\uXXXX’ El caracter UNICODE asociado al valor XXXX

14 ¿Cómo se representan los literales de hileras de caracteres en Java?
Debido a que una hilera está “compuesta” de varios caracteres, normalmente no son consideradas como tipos primitivos. En Java las hileras de caracteres se conocen como “String”. Los literales se representan con caracteres encerrados por comillas dobles. Ej: “¡Hola Mundo!”. String no es un tipo primitivo, sino que se rige por las reglas asociadas a los objetos. El String también soporta secuencias de escape en su contenido.

15 Ejemplo #1 Declare las siguientes variable en Java:
La constante PI = Una variable boolena llamada isReal, inicializada en verdadero Una variable b, de tipo byte e inicializada en 122. Una variable short, denominada s e inicializada en Una variable entera, llamada i e inicializada en Una variable long, con nombre l e inicializada en Una variable de tipo float, llamada f1 e inicializada en Una variable denominada d, de tipo double. Una varialbe de tipo char, con nombre cvalue y con el valor 4.

16 Primitivas de codificación
Variables

17 ¿Qué son las variables? Las variables son espacios en memoria asignados para almacenar valores. A cada variable se le asocia: Nombre de la variable. Tipo de dato. Valor. Tamaño o espacio que requiere en memoria. Dirección de su ubicación en la memoria.

18 ¿Cuáles son las características de las variables?
98 notaFinalDelCurso dirección valor nombre de la variable tamaño: 4 bytes (Java) tipo: entero

19 ¿Cómo se declara una variable en Java?
Se debe escribir el tipo seguido del nombre que se le quiere dar. Por ejemplo: int variableEntera;

20 ¿Cómo se lleva a cabo la inicialización de una variable en Java?
Para la inicialización, se debe escribir el nombre de la variable, seguido del operador de asignación “=“, seguido del valor a asignar. Por ejemplo: variableEntera = 234; primeraLetra = ‘a’; En algunos casos, se puede mezclar la declaración y la inicialización. Por ejemplo: int variableEntera = 234;

21 Ejercicio Declare los atributos de la clase estudiante creada al inicio (identifique el tipo de dato oportuno para cada característica): Estudiante nombre edad género

22 ¿Qué sucede si una variable no es de un tipo primitivo?
Las variables pueden ser de tipo primitivo o pueden ser “referencias” a instancias. La inicialización de las segundas se realiza por medio del comando new con el que se solicita la construcción de una instancia de la clase. Por ejemplo: Carro miCarro = new Carro();

23 ¿Qué sucede en memoria al crear una instancia?
El carro recién creado es accedido a través de la referencia llamada “miCarro”. Carro miCarro = new Carro(); miCarro acelerar izquierda frenar derecha Vocho (instancia) La referencia es una variable que tiene adentro la dirección donde está la instancia. Esta sería la manera de saber donde está el carro La instancia es el objeto que fue creado en la memoria. Este sería el carro en sí con sus atributos y métodos.

24 ¿Cómo se definen los nombres de variables en Java?
Para los nombres de variables se puede usar los siguientes caracteres: ‘a’, ‘b’, ..., ‘z’, ‘A’, ‘B’, ..., ‘Z’, ‘0’, ‘1’, ..., ‘9’, ‘#’, ‘_’. Para la primera letra del nombre de una variable no se puede utilizar un dígito. Excepto las constantes, todas las instancias y variables de clase o método empezarán con minúscula. Las palabras internas que lo forman (si son compuestas) empiezan con su primera letra en mayúsculas. Ejemplos: int variableEntera1, variableEntera2; double aproximacionDelValorPi; char letra2;

25 Variables de tipo arreglo
Una variable declarada de cualquier tipo puede declararse como un aglomerado de elementos del mismo tipo. Ejemplo Declaración: int[] variableEntera; Inicialización: variableEntera = new int[5];

26 ¿Qué es una constante? Las constantes son variables cuyo valor es asignado una única vez, y no puede ser cambiado posteriormente. Su inicialización se debe llevar a cabo junto con su declaración.

27 ¿Cómo se declara una constante en Java?
Las constantes en Java se declaran con los calificativos final. Ejemplo: final double PI = ; Se recomienda nombrar las constantes utilizando solamente letras mayúsculas separando las palabras con un guión bajo (“_”).. Ejemplo: final int ANCHURA_MINIMA = 4;

28 ¿Es posible convertir un valor de un tipo de dato a otro ?
Se puede convertir un valor de un tipo de dato a otro mediante un mecanismo llamado “casting”. Para convertir de un tipo a otro, se antepone, entre paréntesis, el nombre del tipo al que se desea convertir el valor. Ejemplos: (int) produce el entero 32. (double) 3 produce el double 3.0. (byte) 120 produce el byte 120.

29 ¿Dónde se pueden utilizar variables?
Las variables pueden ser utilizadas tanto para declarar los atributos de un objeto como para crear variables “locales” dentro de los métodos. Los atributos pueden ser “accedidos” por todos los métodos de la instancia a la que pertenecen. Si un método es declarado como estático, solamente puede utilizar atributos estáticos.

30 ¿Cuál es el ciclo de vida de una variable?
Las variables de instancia o atributos existen desde el momento que se crea la instancia con new hasta que se destruye la instancia. Mientras que el objeto exista, el mismo puede guardar su “estado” dentro de sus variables de instancia. En otras palabras, los atributos conservan el valor mientras el objeto exista.

31 Declaración de variables en ámbitos dentro de una clase en Java
class nombreClase { private tipo variableDeInstancia; ... public método1() { tipo variableLocal; } public static void main (String [] s) {

32 ¿Qué significa público y privado?
En P.O.O. público y privado se refiere al nivel de acceso a los miembros (métodos y atributos) de una clase. En la mayoría de los lenguajes de P.O.O, los miembros de una clase pueden ser (entre otros): private: accesibles solo por medio de métodos dentro de la clase. public: accesibles directamente desde fuera de la clase.

33 ¿Qué debe ser privado y qué debe ser público?
Normalmente se recomienda lo siguiente: Los atributos de una clase deben ser privados. La interfaz (métodos) debe ser pública para que otros puedan utilizar la clase.

34 ANALOGIA: ¿Cuáles son los beneficios de no dar acceso directo a los atributos de una clase?
Si se tiene un equipo de enfriamiento, la manera apropiada de cambiar y de ver la temperatura es a través de sus controles. El usuario no manipula directamente los mecanismos internos que regulan la temperatura. Si al equipo se le cambia su mecanismo interno, el usuario no tiene que aprender nuevamente cómo cambiar la temperatura.

35 Métodos en java Un método es: Un bloque de código que tiene un nombre
recibe unos parámetros o argumentos (opcionalmente) contiene sentencias o instrucciones para realizar algo (opcionalmente) devuelve un valor de algún Tipo conocido (opcionalmente).

36 Sintaxis global de un método java.
Tipo_Valor_devuelto nombre_método ( lista_argumentos ) { bloque_de_codigo; return valor_de_retorno; //si el método no es void. }

37 Métodos void o funciones.
El hecho de que un método devuelva o no un valor es opcional. En caso de que devuelva un valor se declara el tipo que devuelve y este método es conocido como función. Pero si no necesita ningún valor, se declara con la palabra reservada void. Por ejemplo:  void haceAlgo() { . . . } int haceAlgo() { return 3;

38 Constructores Métodos especiales que se inician de forma automática cuando se instancia un objeto. class Punto { int x , y ; Punto ( int a , int b ) { x = a ; y = b; }

39 Paso de parámetros Un mecanismo de comunicarle valores a los métodos es a través de los parámetros. Existen dos formas de pasar parámetros, por valor y por referencia. Paso de parámetros Valor (tipos primitivos): no se modifican los valores originales de las variables Referencia (objetos y arrays): si es posible alterar los valores originales de las variables

40 ¿Cómo se puede acceder a los atributos de una clase?
Se recomienda que los atributos de una clase sean accedidos por medio de métodos utilizados para guardar su valor dentro de la instancia o recuperarlo. A estos métodos se les asigna normalmente un nombre utilizando los términos en inglés (“set” y “get”) por la comodidad que da el hecho de ser palabras de solo tres letras con un significado directo (“asignar” y “recuperar”).

41 ¿Cómo se pueden crear los métodos set y get?
Si una clase tiene un atributo llamado edad. Entonces: void setEdad(double edadAAsignar) se puede crear para asignar un valor que viene desde fuera del objeto en el parámetro edadAAsignar para guardarlo dentro del atributo llamado edad. double getEdad() se puede crear para pedirle al objeto que proporcione una copia del valor del atributo edad.

42 ¿Cuál es el beneficio de crear métodos set y get?
Por ejemplo: un conductor de un vehículo puede ver la velocidad del auto aunque haya cambiado el sistema del velocímetro. Permiten que la estructura interna de una clase se modifique manteniendo la misma interfaz. Por ejemplo: en una clase llamada Mes, el método setDia(int dia) puede validar que el día no tenga un valor mayor a 30 o 31 dependiendo el mes en cuestión. Permiten la validación de los valores que se le están asignando a los atributos del objeto.

43 Ejercicio Agregue los métodos correspondientes a la clase estudiante desarrollada. Considere ocultar la información de los atributos. Estudiante nombre edad genero +consEstudiante(n,e,g) +getNombre() +getEdad() +getGenero() +setNombre(tipo n) +setEdad(tipo e) +setGenero(tipo g) +toString()

44 ¿Qué significa estático?
Los miembros estáticos son aquellos que pertenecen a una clase pero no pertenecen a ninguna instancia específica. Si un atributo es declarado como estático, todas las demás instancias de la misma clase pueden leer y escribir directamente en él. Si un método es declarado como estático, éste se puede invocar sin necesidad de crear una instancia. En Java se declaran con el calificativo static.

45 Ejemplo #2 Se debe crear una clase llamada Punto para representar un punto cartesiano compuesto por dos coordenadas ( x , y ) Los valores de X y Y deben ser privados de manera que solamente sean accesibles desde los métodos que se encuentran dentro de la clase Punto. Para permitir guardar valores de X y Y desde "fuera de la clase" y para poder acceder a los mismos se debe definir una interfaz compuesta de métodos set() y get() Escriba instrucciones para crear una instancia de punto en otra clase y asignarle valores a X y Y mediante los métodos setX( ) y set Y( ). Posteriormente utilice los métodos getX() y getY() para "obtener" copia de los valores que guarda el punto en sus atributos privados. Muestre la pantalla con los pasos llevados a cabo.

46 Ejemplo #2 - Solución Cree un nuevo proyecto
Agregue una nueva clase llamada Punto Recuerde: Los nombres de las clases normalmente son sustantivos. Cuando son compuestos tendrán la primera letra de cada palabra que lo forma en mayúsculas. Declare las variables x, y (dichas variables son dos valores reales) Cree los procedimientos setX(), setY(), getX() y getY() Nota, los métodos get y set deben ser públicos Cree una instancia de la clase Punto en el main del programa Utilice los métodos get y set

47 Primitivas de codificación
Operadores aritméticos

48 ¿Cuáles son los operadores aritméticos con enteros en Java?
Ejemplo Resultado Suma + a = 1 + 2 a vale 3 Resta - a = 7 – 2 a vale 5 Producto * a = 2 * 7 a vale 14 División / a = 35 / 4 a vale 8 Residuo % a = 35 % 4

49 ¿Cuáles son los operadores aritméticos con flotantes en Java?
Ejemplo Resultado Suma + a = a vale 4.0 Resta - a = 7.5 – 2.3 a vale 5.2 Producto * a = 2.0 * 7.5 a vale 15.0 División / a = 34.0 / 4.0 a vale 8.5 Residuo % a = 34.5 % 4.0 a vale 2.5

50 Operadores Unarios en Java
Suponga que c tiene un valor de 2. Operador Ejemplo Resultado Postincremento d = c++; d vale 2, c vale 3 Preincremento d = ++c; d vale 3, c vale 3 Postdecremento d = c--; d vale 2, c vale 1 Predecremento d = --c; d vale 1, c vale 1

51 Operadores de asignación en Java
Valor previo Operación Resultado = c vale 30 c = 15; c vale 15 += c vale 10 c += 12; c vale 22 -= c vale 4 c -= 6; c vale -2 *= c vale 2 c *= 15; /= c vale 27 c /= 3; c vale 9 %= c %= 4; c vale 1

52 Ejercicio Final Escriba un programa en Java que contenga un arreglo de 5 objetos Estudiante inicializados oportunamente con valores aleatorios. Utilizar adecuadamente los modificadores de acceso a los elementos de la clase Implemente el método main de manera que se pueda calcular en el mismo el promedio de edad de los 5 Estudiantes del arreglo y lo imprima en pantalla.

53 Ejercicio Final Implementar las clases de la clase pasada del ejemplo de librería y los posibles usos de instancias de las mismas.


Descargar ppt "Programación Orientada a Objetos"

Presentaciones similares


Anuncios Google