Repaso/resumen: Introducción a la Programación orientada a objetos

Slides:



Advertisements
Presentaciones similares
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Advertisements

Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Arreglos de Objetos.
Detalles Generales sobre Java
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Asociación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada HERENCIA Tema: HERENCIA Ing. Javier Chamorro Cerón.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Sonia.
PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento y constructores.
Clase1: lectura/escritura/asignación
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clase 8: Strings Valeria Herskovic –
Clase 9: Repaso/Resumen
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clase 8: Strings J.Alvarez.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Repaso/resumen lectura/escritura y asignación funciones
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
26-abril(J.Alvarez).
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Clase 9: Repaso/Resumen
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Repaso/resumen: Introducción a la Programación orientada a objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Clase 8: Strings J.Alvarez.
Clase 8: Repaso/Resumen
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.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
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.
Teclado y Pantalla (Java estándar)
Herencia en C#.
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
26-abril(J.Alvarez).
Clase 7: Repaso/Resumen
Repaso/resumen: Introducción a la Programación orientada a objetos
Lenguaje Java: características técnicas
Herencia en C++ Agustín J. González ELO329.
Clase 7 Strings 28 de Marzo (N.Baloian).
Clase 8: Strings J.Alvarez.
Repaso/resumen: Introducción a la Programación orientada a objetos
Clase1: lectura/escritura/asignación
Introducción a la Computación Numérica
Clase 8: Strings 29-marzo (N.Baloian).
//Leer desde (posición del cursor de) archivo //un máximo de N líneas. //Entregar también nº de líneas leídas. static public int leerLineas (BufferedReader.
JAVA: elementos básicos
String, random y stream en java
Repaso/resumen: Introducción a la Programación orientada a objetos
Clase 10 (Repaso/Resumen)
Clase10: Objetos y Clases
Ejemplos de uso //obtener una respuesta “si” o “no” static public String siNo(String x) throws IOException{ String r=U.readLine(x+” si o no?”) .trim().toLowerCase();
Clase10: Objetos y Clases
Clase1: lectura/escritura/asignación
Herencia en C++ Agustín J. González ELO329.
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
Herencia en C++ Agustín J. González ELO329.
Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej: alfabetico(“hola”)=true,
Clase 8: Strings.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
Uso de objetos de una clase
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Transcripción de la presentación:

Repaso/resumen: Introducción a la Programación orientada a objetos Strings Archivos Uso de objetos Definición de clases Herencia Ventanas Dibujos Gráficos

Ejemplos de uso //obtener una respuesta “si” o “no” static public String siNo(String x){ String r=U.readLine(x+” si o no?”) .trim().toLowerCase(); return r.equals(“si”)||r.equals(“no”)) ? r : siNo(x); } //reemplazar todos los x por y en z static public String reemplazar( String x,String y,String z){ int i=z.indexOf(x); if(i<0)return z; //caso base return z.substring(0,i) + y + reemplazar(x,y,z.substring(i+x.length()));

Archivos //copiar archivos contando caracteres y líneas BufferedReader I=new BufferedReader( new FileReader(U.readLine(“input?”))); PrintWriter O=new PrintWriter( new FileWriter(U.readLine(“output?”)); int nc=0,int nl=0; String linea; while((linea=I.readLine())!= null){ O.println(linea); ++nl; nc+=linea.length(); } O.close(); I.close(); U.println(nl+“ líneas “+nc+” caracteres”);

Uso de objetos de una clase //Fracción más lejana (del promedio) F f=new F(U.readLine(“nº/nº?”)), s=new F(0), min=new F(f), max=new F(f), cero=new F(); int n=0; while(!f.equals(cero)){ s.sumar(f); ++n; if(f.compareTo(max)>0) max.asignar(f); if(f.compareTo(min)<0) min.asignar(f); f.asignar(U.readLine(“nº/nº?”)); } s.dividir(new F(n)); //promedio U.println(“más lejana=“+ (max.resta(s).compareTo(s.resta(min))>0 ? max : min).toString() );

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 f(…) resultado consulta

Clase Fraccion (F) class F{ //en archivo F.java //representacion: datos de un objeto private int a,b;//visibles en clase, no fuera //constructores: inicializan objeto public F(int x,int y){//”canónico” a=x; b=y; validar(); } public F(){a=0; b=1;}//default ctor public F(F x){a=x.a; b=x.b;}//copy ctor public F(int x){a=x; b=1;}//conversión public F(String x){asignar(x);} public F(double x){...}//si x=4.5,a=45 y b=10

Funciones: devuelven un resultado (no modifican objeto) //selectores public int numerador(){return a;} ublic int denominador(){return b;} //conversores public String toString(){return a+”/”+b;} public int toInt(){return a/b;} public double toDouble(){return (double)a/b;} //comparadores public boolean equals(F x){ return a*x.b==b*x.a; } public int compareTo(F x){ return a*x.b-b*x.a;

//funciones que devuelven un objeto de la clase //operadores binarios public F suma(F x){ return new F(a*x.b+b*x.a,b*x.b); } public F resta(F x){ return new F(a*x.b-b*x.a,b*x.b); public F mult(F x){ return new F(a*x.a,b*x.b); public F div(F x){ return new F(a*x.b,b*x.a); //operadores unarios public F inverso(){return new F(b,a);} public F simple(){ int m=U.mcd(a,b); return new F(a/m,b/m);}

Procedimientos (public void): modifican objeto //modificadores numerador(int x){a=x;} denominador(int x){b=x; validar();} //operadores unarios simplificar(){int m=U.mcd(a,b);a/=m;b/=m);} invertir(){int t=a; a=b; b=t; validar();} //operadores binarios sumar(F x){a=a*x.b+b*x.a; b*=x.b;} restar(F x){a=a*x.b-b*x.a; b*=x.b);} multiplicar(F x){a*=x.a; b*=x.b;} dividir(F x){a*=x.b; b*=x.a; validar();}

Cont... //asignación public void asignar(F x){a=x.a; b=x.b;} public void asignar(String x){ int i=x.indexOf(“/”); if(i<0){a=Integer.parseInt(x);b=1;return;} a=Integer.parseInt(x.substring(0,i)); b=Integer.parseInt(x.substring(i+1)); validar(); } //métodos internos (de servicio) private void validar(){ if(b==0) U.abortar(“denominador cero”); }}//fin class F

Clase 17: Repaso/Resumen 30-abril (J.Alvarez)

Clase 17: Repaso/Resumen 30-abril (J.Alvarez)