Qué es orientación a objeto ?

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Archivos Binarios. Introducción En clase ya vimos el uso de archivos de texto en Java, pero el uso de archivos es mucho más poderoso que eso, al utilizar.
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Programación, Algoritmos y Estructuras de Datos
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Algoritmo y Estructura de Datos I
Manipulación de caracteres e hileras de texto
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
1 Streams en Java Agustín J. González ELO Generalidades Un Stream es simplemente una fuente o destino de bytes. Los streams más comunes son los.
Archivos y Búsqueda Secuencial
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
1 Persistencia en Java Agustín J. González ELO-329.
Entrada y Salida Java. Clase File La clase File proporciona mucha informacion relacionada con archivos y con la obtencion de informacion basica sobre.
Programación Orientada a Objetos
Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde.
PROGRAMACION DE ARCHIVOS (MEMORIA SECUNDARIA). Registros y archivos Si bien es cierto que se pueden manejar gran cantidad de datos del mismo y diferente.
1 Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas.
Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.
PAQUETES Un paquete es un conjunto de clases, interfaces y subpaquetes relacionados. El paquete define un ámbito de visibilidad: los miembros que no tienen.
1 Streams y Persistencia en Java Agustín J. González ELO-329.
INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ MARTINEZ.
Ficheros: Ruby Estructura de Datos II.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
Programación 1 String y arreglos Facilitador Adrián Monge Monge.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Flujos de datos Un flujo es un canal por donde fluyen los datos.
Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Clases y Objetos en Java
Convenciones de nomenclatura y diseño
Clase1: lectura/escritura/asignación
Programación Avanzada
Clase 8: Strings Valeria Herskovic –
Programación en C - manejo de Archivos
AYUDANTÍA 6 Más sobre... ¿Faiton?.
Clases y Objetos en Java
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Usando StreamReader y StreamWriter
UNIVERSIDAD AUTONOMA METROPOLITANA Programación Estructurada
Objeto de clase Fracción métodos públicos representación privada constructor Fraccion(…) asigna a procedimiento void m(…) modifica b función tipo/clase.
Persistencia y Serialización en Java con Archivos
Clases y Objetos en Java
Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación.
LÓGICA DE PROGRAMACIÓN
Unidad 3. Introducción a la programación
Programación Orientada a Objetos
Usando StreamReader y StreamWriter
Usando StreamReader y StreamWriter
FLUJOS (Flujos de Bytes-Caracteres)
Tema 9 Cadenas de Caracteres
Arreglos en Java.
Streams y Persistencia en Java
Qué es orientación a objeto ?
Qué es orientación a objeto ?
Algunas Características de C++ no presentes en C
Clase1: lectura/escritura/asignación
String, random y stream en java
Clase 10 (Repaso/Resumen)
Clase1: lectura/escritura/asignación
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
Programación Orientada a Objetos
Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej: alfabetico(“hola”)=true,
Prof. Marcos Heredia.  Primitivos y No Primitivos.
Problema Un programa debe leer 2 números desde un objeto Console. El primero es el monto que un cliente debe pagar por una compra y el segundo la cantidad.
DIAGRAMAS DE FLUJO. D I A G R A M A DE F L UJ O EL DI AGRAMA DE FLUJO ES LA REPRESENTACIÓN GRÁFICA DE DICHA SE CUENCIA DE INSTRUCCIONES QUE CONFORMAN.
Clases y Objetos en Java
Transcripción de la presentación:

Qué es orientación a objeto ? Es solo una manera de organizar el código. No es que se puedan hacer cosas que antes no se podían !!! Los datos que usa un programa se organizan en objetos Los objeos son una colección de variables asociadas a métodos Métodos que modifican las variables o “estado” de un objeto Métodos que retornan valores que reflejan el “estado” del objeto (valor de sus variables)

Por qué orientación al objeto ? Una estrategia para poder desarrollar programas más grandes, más libres de errrores y en menos tiempo: Software engineering

Una clase que ya conocemos: Console Constructores: Console c = new Console(); Console c = new Console(30,15); Console c = new Console(“Hola Gente”); Métodos que retornan un valor: int a = c.readInt(); double d = c.readDouble(); String s = c.readLine(); Métodos que modifican el estado del objeto (no retornan un valor): C.println(String) C.setSize(int, int) C.setLocation(int, int) Cons.java

Otra clase conocida: el String Una clase está principalemnte definida por los métodos que se le pueden aplicar a un objeto e esta clase Hay un método especial llamdo constructor, el que crea un nuevo objeto de esta clase Ejemplo: String myName; //el objeto aun no existe myName = new String(“Nelson Baloian”); String myName = “Nelson Baloian”; Esta es una llamada al contructor. Para aplicar un método a un objeto: object_variable.method(parameters)

Obteniendo los caracteres del String Largo (en caracteres) de un String : int i = myName.length(); - i tendrá el valor 14 para el String “Nelson Baloian” Obteniendo el i-esimo carácter: char c = myName.charAt(0); - c contendrá el caracter ‘N’ char c = myName.charAt(3); - c tendtrá el carácter ‘s’ Las posiciones parten desde el 0 y llegan hasta length() - 1

Ejemplos: Ejemplo 1 : imprimir un string invertido String linea = c.readLine(); for(int i = linea.length()-1; i >=0 ; i--) print(linea.charAt(i); Ejemplo 2 : imprimir un string invertido int valorEntero(String x) { int valor = 0; for(int i = 0 i < linea.length(); i++) valor = valor*10 + (x.charAt(i)- ‘0’); return valor; } Los caracteres se pueden usar en expresiones numéricas, para lo cual entonces se usa el valor numérico que resulta de su repreentación binaria. Propuesto: double valorReal(String x)

Obteniendo Subsecuencias 2 métodos distintos: String substring(int) String substring(int, int) String sub = myName.substring(7); - sub contendrá el string “Baloian” String sub = myName.substring(3, 6); - sub contendrá el string “son” N o e l s n B a l o i a n 4 1 2 3 5 6 7 8 9 10 11 12 13 7 3,6

Búsqueda de Subsequencias int indexOf(String) : entrega la primera aparición del string que viene como parámetro en el string al cual se le aplica el método, o un -1 si no estaba String s = new String(“Hello, Nelson, Hello”); int i = s.indexOf(“ello”); - i tomará el valor 1 int i = s.indexOf(String, int) : busca la primera aparicion del string pasado como parámetro a partir de la posición dada int i = s.lastIndexOf(String) : busca la última aparición del string int i = s.lastIndexOf(String, int) : busca la última aparición del string a partir de la posición dada como parámetro hacia atrás Programm13 Programm13b ReplaceLine Comparaciones

Comparación de Strings boolean equals(String): entrega true si el parámetro es igual al string al cual se le aplica el método boolean esIgual = s1.equals(s2); la variable esIgual valdra true isi el texto contenido en s1 es igual al contenido por el string s2 int compareTo(String): conpara los strings y entrega un int haciendo una “restando” el string pasado como parámetro al string que se le aplica el método int i = s1.compareTo(s2); - i tomará los siguientes valores dependiendo de s1 y s2 0 si s1==s2, >0 si s1>s2, <0 si s1<s2 El valor del string se define de acuerdo a su aparición en un diccionario, primero significa menor

Otros métodos para String Para saber mas acerca de cualquier otra clase que provee el lenguaje java se puede consultar http://java.sun.com/j2se/1.4.1/docs/api/ Los más importantes para el curso: length substring (en todas sus variedades) equals compareTo charAt

Los Archivos de Texto Se organizan en líneas de texto (Strings) Cada línea consiste una cadena de caracteres que termina con una marca de fin de línea Después de la marca de fin de línea de la última línea viene una marca de fin de archivo Por convención tienen la extensión .txt Se generan con un editor de texto (sin formato) o por un programa

Leyendo archivos de texto en JAVA Los archivos de texto están organizados en líneas de caracteres Abrir un archivo existente : BufferedReader x = new BufferedReader( new FileReader(filename)) La líneas pueden ser leídas de la siguiente manera: String line = x.readLine() Los archivos de texto son un archivo secuenciales Luego de que ha sido leida la última línea, el método readLine() retornará el valor null. Hay que “importar” las clases BufferedReader y FileReader poniendo al comienzo del programa la instrucción import java.io.*; Copyfile Replace

Escribiendo archivos de texto en JAVA Para abrir el archivo para escribir: PrintWriter x = new PrintWriter ( new FileWriter(filename)) Se pueden escribir líneas con los siguientes métodos: x.print(string) x.println(string) Si existía un archivo con ese nombre se borra y es reemplazado por el que genere el programa Es importante hacer al final x.close() para asegurarse que los datos que aún están en el buffer sean traspasados. Copyfile Replace

Archivos de bytes public FileInputStream(String name) public int read() public int read(byte[] b) public int read(byte[] b, int off, int len) public FileOutputStream(String name) public FileOutputStream(String name, boolean append) public void write(int b) public void write(byte[] b) public void write(byte[] b, int off, int len)

Archivos de acceso aleatorio public RandomAccessFile(String name, String mode) mode “r”= read, “rw”= read/write El archivo se organiza como un arreglo de bytes el método seek(long i) posiciona el file pointer delante del i-esimo byte. Desde ahí se puede escribir o leer con distintos métodos, de acuerdo a lo que se necesite, por ej: readInt() writeInt(int i) readChar() writeChar(char c) readString() writeString(String s) etc....

Archivos de objetos Lectura FileInputStream istream = new FileInputStream("t.tmp"); ObjectInputStream p = new ObjectInputStream(istream); int i = p.readInt(); String today = (String)p.readObject(); Date date = (Date)p.readObject(); istream.close();

Archivos de objetos: escritura FileOutputStream ostream = new FileOutputStream("t.tmp"); ObjectOutputStream p = new ObjectOutputStream(ostream) p.writeInt(12345); p.writeObject("Today"); p.writeObject(new Date()); p.flush(); ostream.close(); EL OBJETO DEBE SER SERIALIZABLE !!!!! (ver clase MyDate)