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

Documentos relacionados
El lenguaje C. 1. Identificadores, constantes y variables

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Principios de Computadoras II

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Los tipos de datos primitivos

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Tema 2. El lenguaje JAVA

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Elementos de un programa en C

Lección 2 Introducción al lenguaje C

Expresiones y sentencias

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

Curso de Programación Avanzada en C

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Tema 3 Elementos básicos de programación

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

Programación Orientada a Objetos en C++

Programación Orientada a Objetos (POO)

Java para programadores

Sintaxis básica, variables y 7pos

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Tipos de datos y Operadores Básicos

Introducción a Java. Introducción a Java. Programación I

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Tema 2. El lenguaje de programación Java (Parte 1)

1 ELEMENTOS BASICOS DEL LENGUAJE

Ficha de Aprendizaje N 13

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Tipos primitivos, referencias y expresiones

REPRESENTACIÓN DE DATOS

Construcciones del Lenguaje Java

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

3.3 Conceptos Básicos del Lenguaje Java

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Expresiones y sentencias

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS. Ing. Martha Tello

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Manual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz

FUNDAMENTOS DE INFORMÁTICA

4. Operadores Operador asignación

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Programación en Lenguaje C

Datos y tipos de datos

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Elementos léxicos del lenguaje de programación Java

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

INTERACCION ENTRE OBJETOS

Expresiones y Operadores

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Curso Introducción JAVA Pág.: 1

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Programación Estructurada

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES

Modulo 11. Clases y Objetos en Java

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Operadores y Expresiones

Introducción rápida a la programación (estructurada ) con C++

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Tema: Herencia en C#.

Variables - Tipos de Datos - Operadores - Precedencia

Computación II. Introducción a Visual Basic

Tema: Sobrecarga. Objetivos. Materiales y Equipo. Introducción Teórica. Programación II. Guía No. 7

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Desarrollo de Programas. Prof. Lisbeth C. Pérez Rivas

Tema 2: Los tipos de datos

Tema 6: Clases. Índice

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Programación en java. Estructuras algorítmicas

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga

4/14/2010. Objetivos. Que es JAVA. JAVA como plataforma. Reglas Sintácticas y de Codificación Básicas de JAVA

Curso de Java Introducción a la Programación I

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Punteros y Memoria Dinámica I

Tipos de datos y operadores en C++

Fundamentos de Informática E.U.P. Universidad de Sevilla

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

Unidad I Tipos de Datos en C

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Guía práctica de estudio 05: Pseudocódigo

Tipos de Datos en C. Palabras reservadas en C

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

Transcripción:

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

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

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

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

Primitivas de codificación Tipo de datos

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.

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

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.

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 -32768 hasta +32767 Entero int 32 bits Desde -2 147 483 648 hasta +2 147 483 548 Entero largo long 64 bits Desde -9 223 372 036 854 775 808 hasta + 9 223 372 036 854 775 807

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 Punto flotante doble float 32 bits Desde -3.4028234663852886E+38 Hasta -1.40129846432481707E-45 Desde +1.40129846432481707E-45 Hasta +3.4028234663852886E+38 double 64 bits Desde -1.7976931348626157E+308 Hasta -4.94065645841246544E-324 Desde +4.94065645841246544E-324 Hasta +1.7976931348626157E+308

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.

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 \.

Caracteres de escape en Java \n \t Secuencia Cambio de línea Tabulador \\ El caracter \ \ El caracter \uxxxx Significado El caracter UNICODE asociado al valor XXXX

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.

Ejemplo #1 Declare las siguientes variable en Java: 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 -29000. Una variable entera, llamada i e inicializada en 100000. Una variable long, con nombre l e inicializada en 999999999999. Una variable de tipo float, llamada f1 e inicializada en 234.99. Una variable denominada d, de tipo double. Una varialbe de tipo char, con nombre cvalue y con el valor 4. La constante PI =3.1415926

Primitivas de codificación Variables

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.

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

Cómo se crea una variable? La creación de una variable requiere dos pasos: declarar la variable e inicializar la variable. La declaración es la definición del tipo y del nombre de la variable. La inicialización es la asignación del valor inicial.

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;

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;

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

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();

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 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 Vocho (instancia) La instancia es el objeto que fue creado en la memoria. Este sería el carro en sí con sus atributos y métodos.

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;

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];

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.

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

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) 32.24 produce el entero 32. (double) 3 produce el double 3.0. (byte) 120 produce el byte 120.

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.

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.

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) { tipo variablelocal;... } }

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.

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 debe ser pública para que otros puedan utilizar la clase.

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.

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).

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.

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; }

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; } }

Constructores Tipos Por omisión Por defecto Con argumentos Con copia

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

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 ).

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.

Cuál es el beneficio de crear métodos set y get? Permiten la validación de los valores que se le están asignando a los atributos del objeto. 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 que la estructura interna de una clase se modifique manteniendo la misma interfaz. Por ejemplo: un conductor de un vehículo puede ver la velocidad del auto aunque haya cambiado el sistema del velocímetro.

Ejercicio Agregue los métodos correspondientes a la clase estudiante desarrollada. Considere ocultar la información de los atributos. - nombre - edad - genero Estudiante +consestudiante(n,e,g) +getnombre() +getedad() +getgenero() +setnombre(tipo n) +setedad(tipo e) +setgenero(tipo g) +tostring()

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.

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.

Ejemplo #2 - Solución Cree un nuevo proyecto Agregue una nueva clase llamada Punto Recuerde: Los nombres de las clases deben ser 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

Primitivas de codificación Operadores aritméticos

Cuáles son los operadores aritméticos con enteros en Java? Operador 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 a vale 3

Cuáles son los operadores aritméticos con flotantes en Java? Operador Ejemplo Resultado Suma + a = 1.5 + 2.5 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

Para que sirven los operadores unarios en Java? Existen operadores conocidos como operadores unarios ya que involucran un único operando por operador. Algunos operadores unarios sirven para sumar o restar directamente el valor de una variable. El efecto de la operación es diferente si se coloca el símbolo antes o después de la variable. Por ejemplo: En el pre incremento y pre decremento primero modifican la variable y luego permiten tomar su valor En el post incremento y post decremento primero se usa el valor de la variable y luego la modifica la misma.

Ejemplo del uso de operadores de incremento y decremento. 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

Operadores de asignación Estos operadores toman el valor de una variable como primer operando, le aplican una operación utilizando un valor dado como segundo operando, y finalmente dejan el resultado en la misma variable de donde se tomó el primer operando.

Cuáles son los operadores de asignación en Java? Operador 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 30 /= c vale 27 c /= 3; c vale 9 %= c vale 9 c %= 4; c vale 1

Ejercicio Final Escriba un programa en Java que contenga un arreglo de 5 objetos Estudiante inicializados oportunamente con valores aleatorios. 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.