lección 6. métodos de objetos y clases -...

39
Fundamentos de Fundamentos de Informática Lección 6. Métodos de objetos y clases Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Upload: vuongnguyet

Post on 29-Oct-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Fundamentos de Fundamentos de InformáticaLección 6. Métodos de objetos y clasesj

Curso 2010-2011José Ángel Bañares y Pedro Álvarez2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Page 2: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Índice de contenidosÍndice de contenidos Abstracción Clases como mecanismo para definir abstracciones Declaración de métodos: procedimientos y funciones procedimientos y funciones. Invocación de métodos. Paso de parámetros. Métodos de clase y objeto

Diseño descendente

Page 3: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

AbstracciónAbstracciónAbstraer, o el “método de dar nombre”,

a conceptos sobre los que construirnuestros programas Podemos asociar un nombre con una dirección de

memoria: Nombre de la variable) Podemos asociar un nombre con una “estructura” o

forma de interpretar uno o más bytes: Tipo de dato Podemos asociar un nombre con un grupo de

instrucciones java: métodoinstrucciones java: método Podemos asociar nombres a nuevas abstracciones

no soportadas por el lenguaje: nuevos tipos dedatos agrupando variables relacionadas y funcionesdatos agrupando variables relacionadas y funciones

Page 4: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

ClasesClases En Java los programas están formados p g

por una o más clases Una de las clases define el método static void main (String[] args) agrupa las instrucciones que se ejecutarán al invocar la ejecución del programa.

Las clases del programa Java pueden definir más métodos: Nombre que damos a “instrucciones” definidas por el Nombre que damos a “instrucciones” definidas por el

programador y no soportadas directamente en el lenguaje

Diseño top-down: Descomposición del problema en Diseño top-down: Descomposición del problema en subproblemas.

Page 5: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

ClasesClases Las clases permiten definir nuevas p

“abstracciones” que agrupan: datos (fields): agrupación de datos. Métodos (methods):acciones que se pueden

con la abstracción.

Las nuevas abstracciones pueden ser: Programas

N ti d d t Nuevos tipos de datos Librería de funciones (por ej. Math).

Page 6: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Declaración de métodosDeclaración de métodosDeclaración del métodoModificadores tipo nombre (parámetros) {

Variables y sentenciasreturn expresión; //del tipo declaradop ; // p

}

El tipo void

Ti i iti ( t l á t b l ) Tipo primitivo (entero,r eal, carácter, booleano) Clase

Page 7: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Procedimientos / Acciones (void)(void)public class DibujaCaja{static void caja(){static void caja(){System.out.println("+-----------+");System.out.println("+ +");System out println("+ +"); DeclaraciónSystem.out.println( + + );System.out.println("+-----------+");

} public static void main (String[] args){

Declaración

p ( g[] g ){caja();

}}

Invocación métodoestático definido en la clase}

+-----------++ ++ ++ ++-----------+

Page 8: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Procedimientos / Acciones (void)(void)public class DibujaCaja{static void caja(){static void caja(){System.out.println("+-----------+");System.out.println("+ +");System out println("+ +"); DeclaraciónSystem.out.println( + + );System.out.println("+-----------+");

} public static void main (String[] args){

Declaración

p ( g[] g ){DibujaCaja.caja();

}}

InvocaciónInvocación métodoestático definido en la clase}

+-----------++ ++ ++ ++-----------+

Page 9: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Funciones (valores)public class LiberiaMat {public class LiberiaMat {public static double E (){final double PRECISION= 1E-5; Declaración

double termino = 1.0;double exp = termino;double indice = 1;

while (termino > PRECISION){termino = termino /indice;exp+=termino;indice++;

}return exp;

}

bli t ti id i (St i [] ){public static void main (String[] args){System.out.println(E()+1);} 3.7182815255731922

Invocación

Page 10: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Llamadas a métodosLlamadas a métodosDeclaración del métodoDeclaración del método

Método (parámetro) - Declarado en la propia clasej () caja();

Clase. Método(parámetros) - Declarado estático en otra claseDibujaCaja.caja();

Objeto método (parámetros) Declarado en otro objeto Objeto.método (parámetros) - Declarado en otro objeto v1.length

Page 11: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Paso de parámetrosPaso de parámetros El valor devuelto o la acción puede depender de p p

parámetrosDeclaración parámetos formales (o parámetros)Modificadores tipo nombre (tipo variable, tipo variable ..) {

Variables y sentenciasreturn expresión; //del tipo declaradop ; // p

}

Argumentos o parámetros reales(expresion, expresion, ...)

caja(5,5); Math.exp(2);p( );

Page 12: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Paso de parámetrosPaso de parámetrosDeclaración parámetos formales (o parámetros)static void caja (int anchura int profundidad)static void caja (int anchura, int profundidad)

h

Método cajatamaño

A t á t l

anchura

6060

tamaño

Argumentos o parámetros realesInt tamaño= 60;caja(tamaño,(int) tamaño/2);

profundidad

30

Variable e instrucciones instrucciones del método

caja

Page 13: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Paso de parámetrosPaso de parámetros En Java se pasan el valor de los p

argumentos

Si es un tipo primitivo Si es un tipo primitivo No se puede modificar el valor.

Si bj t l “ t ” l Si son objetos se pasa el “puntero” al objeto. Se puede modificar el estado del objeto Se puede modificar el estado del objeto.

Nota: En lenguajes como Ada se distingue parámetros de entrada, salida, e/sde entrada, salida, e/s.

Page 14: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Declaración de métodosDeclaración de métodosDeclaración del métodoModificadores tipo nombre (parámetros) {

Variables y sentenciasreturn expresión; //del tipo declarado

Modificadores

p ; // p}

Modificadores public: Puede invocarse por otras clases static: Método de clase static: Método de clase final: Como los atributos final, supone que el

compilador puede sustituir la invocación porlas sentencias del método.

Page 15: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos de clase y objetoMétodos de clase y objetoCuando la clase define nuevos tipos de

d t d bj t d l tidatos, podemos crear objetos del tipoespecificado.int[] listaEnteros =new int[] {5 4 1};int[] listaEnteros =new int[] {5,4,1};

Los objetos agrupan datos y tienen estado listaEnteros[1] =2;

método de objeto: El resultado depende del estado del objeto listaEnteros.length;j g ;

Método de clase: El resultado no depende del estado Math.abs(-1);

Page 16: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos de clase (static)Métodos de clase (static) Invocación método de clase

NombreClase.NombreMetodo();NombreObjeto.NombreMetodo();> Character.getNumericValue('a')

10

h b ( 1)> Math.abs(-1)

1

Dentro de la clase en la que se define el método se puede invocar utilizando sólo el nombre del método

NombreMetodo();NombreMetodo();

Page 17: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos de objetoMétodos de objeto Invocación método de objetoj

NombreObjeto.NombreMetodo();

> String nombre = "El mono lleva kimono";

> System.out.println(nombre);

El mono lleva kimonoEl mono lleva kimono

> String nombreMinuscula=nombre.toLowerCase();

> System.out.println(nombreMinuscula);

el mono lleva kimono

Page 18: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos de objetoMétodos de objeto Todos los métodos de la clase String nog

cambian el String original. Devuelven unnuevo String. Los String son inmutables.

> String nombreMayuscula=nombre.toUpperCase();

> System out println(nombreMayuscula);> System.out.println(nombreMayuscula);

EL MONO LLEVA KIMONO

> System.out.println(nombre);

El mono lleva kimono

> nombre = nombre.toUpperCase();

> S stem o t println(nombre)> System.out.println(nombre);

EL MONO LLEVA KIMONO

Page 19: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Declaración de métodos finalfinalpublic static final void f() {

System.out.println(”método f() de A");}

}// i é i// La clase B invoca un método finalpublic class B {public void g() {A f()A.f();

}}//En tiempo de compilación nuestra clase B se convierte en://En tiempo de compilación nuestra clase B se convierte en:public class B {public void g() {System out println("método f() de A");System.out.println( método f() de A );

}}

Page 20: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendenteDiseño descendente Problema: Dibujar tabla con caracteres j

‘+’, ‘-’, ‘ ‘número espaciosp

+---+---+---+

+ + + ++ + + +

Número filas +---+---+---+

+ + + +

+---+---+---+

número columnas

Page 21: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendenteDiseño descendente Problema: Dibujar tabla con caracteres j

‘+’, ‘-’, ‘ ‘número espaciosp

+---+---+---+ dibLHoz

+ + + + dibLSep+ + + + dibLSep

Número filas +---+---+---+ dibLHoz

+ + + + dibLSep

+---+---+---+ dibLHoz

número columnas

Page 22: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendenteDiseño descendenteCuadrados (Pb)

dibLHoz;for (int i=1;i<=nf; i++){

dibLSep;dibLHoz;

}

dibLHoz (Pb 1) dibLSep (Pb2)System.out.print('+');for (int i=1; i<=nc; i++) {

escribeGuiones(ne);

dibLHoz (Pb 1)System.out.print(‘+');for (int i=1; i<=nc; i++) {

escribeBlancos(ne);

dibLSep (Pb2)

escribeGuiones(ne);System.out.print('+');

}System out println();

escribeBlancos(ne);System.out.print(’ ');

}System out println();System.out.println(); System.out.println();

Page 23: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendenteDiseño descendente

dibLH (Pb 1) dibLS (Pb2)Cuadrados (Pb)

System.out.print('+');for (int i=1; i<=nc; i++) {

dibLHoz (Pb 1)System.out.print(‘+');for (int i=1; i<=nc; i++) {

dibLSep (Pb2)

escribeGuiones(ne);System.out.print('+');

}S t t i tl ()

escribeBlancos(ne);System.out.print(’ ');

}System.out.println(); System.out.println();

f ( 1 )Escribir-guiones ( Pb1.1) Escribir-blancos (Pb 1.2)

for(int i=1; i<=n; i++) System.out.print('-');

for(int i=1; i<=n; i++) System.out.print(’ ');

Page 24: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendentes sin métodosmétodos

import java.util.Scannerpublic class Cuadrados {public class Cuadrados {

static void main(String[] args){Scanner entrada = new Scanner(System.in);( y );

System.out.print("Numero filas:");int nf = entrada.nextInt();()System.out.print("Numero columnas:");int nc = entrada.nextInt();System.out.print("Numero espacios:");int ne = entrada.nextInt();

Page 25: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendentes sin métodosmétodos

//Dibujar Linea Horizontal

System.out.print('+');for (int i=1; i<=nc; i++) {

for(int j=1; j<=ne; j++) ( j ; j ; j )System.out.print('-');

System.out.print('+');}}System.out.println();

Page 26: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Diseño descendentes sin métodos for (int i=1;i<=nf; i++){métodos for (int i=1;i<=nf; i++){

//Dibujar linea separaciónSystem.out.print('+');for (int l=1; l<=nc; l++) {for (int l 1; l< nc; l ) {

for(int j=1; j<=ne; j++) System.out.print(' ');

System.out.print('+');y p ( );}System.out.println();

//Dibujar Linea HorizontalSystem.out.print('+');for (int l=1; l<=nc; l++) {

for(int j=1; j<=ne; j++) System.out.print('-');

System.out.print('+');}}System.out.println();

}

Page 27: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros 0Métodos con parámetros 0import java.util.Scanner;

public class Cuadrados {

public static void dibLineaH(int ne, int nc){System.out.print('+');for (int i=1; i<=nc; i++) {( ) {

for(int j=1; j<=ne; j++) System.out.print('-');

System.out.print('+');}System.out.println();

}

Page 28: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros 0Métodos con parámetros 0public static void dibLineaSep(int ne, int nc){public static void dibLineaSep(int ne, int nc){

System.out.print('+');for (int i=1; i<=nc; i++) {

for(int j=1; j<=ne; j++) ( j ; j ; j )System.out.print(' ');

System.out.print('+');}}System.out.println();

}

Page 29: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros 0Métodos con parámetros 0public static void main(String[] args){

Scanner entrada = new Scanner(System.in);Scanner entrada new Scanner(System.in);

System.out.print("Numero filas:");int nf = entrada.nextInt();();System.out.print("Numero columnas:");int nc = entrada.nextInt();System.out.print("Numero espacios:");y p ( p )int ne = entrada.nextInt();

dibLineaH(ne,nc);for (int i=1;i<=nf; i++){

dibLineaSep(ne,nc);dibLineaH(ne,nc);

}}}}

Page 30: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IMétodos con parámetros Iimport java.util.Scanner;

public class Cuadrados1 {

public static void escribeGuiones (int n){p ( ){for(int i=1; i<=n; i++)

System.out.print('-');}}

public static void escribeBlancos (int n){for(int i=1; i<=n; i++)

System.out.print(' ');}

Page 31: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IMétodos con parámetros Ipublic static void dibLineaH(int ne, int nc){

System out print('+');System.out.print( + );for (int i=1; i<=nc; i++) {

escribeGuiones(ne);System.out.print('+');y p ( );

}System.out.println();

}}public static void dibLineaSep(int ne, int nc){

System.out.print('+');for (int i=1; i<=nc; i++) {

escribeBlancos(ne);System.out.print('+');

}S ()System.out.println();

}

Page 32: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IMétodos con parámetros Ipublic static void main(String[] args){

Scanner entrada = new Scanner(System.in);Scanner entrada new Scanner(System.in);

System.out.print("Numero filas:");int nf = entrada.nextInt();();System.out.print("Numero columnas:");int nc = entrada.nextInt();System.out.print("Numero espacios:");y p ( p )int ne = entrada.nextInt();

dibLineaH(ne,nc);for (int i=1;i<=nf; i++){

dibLineaSep(ne,nc);dibLineaH(ne,nc);

}}}

Page 33: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IMétodos con parámetros Iimport java.util.Scanner;

public class Cuadrados1 {

public static void escribeGuiones (int n){p ( ){for(int i=1; i<=n; i++)

System.out.print('-');}}

public static void escribeBlancos (int n){for(int i=1; i<=n; i++)

System.out.print(' ');}

Page 34: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IIMétodos con parámetros II

public static void repiteChar (int n, char letra){for(int i=1; i<=n; i++)

System.out.print(letra);}}

Page 35: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IIMétodos con parámetros IIpublic static void dibLineaH(int ne, int nc){

System.out.print('+');for (int i=1; i<=nc; i++) {

escribeGuiones(ne);S t t i t(' ')System.out.print('+');

}System.out.println();

}}public static void dibLineaSep(int ne, int nc){

System.out.print('+');for (int i=1; i<=nc; i++) {for (int i=1; i<=nc; i++) {

escribeBlancos(ne);System.out.print('+');

}}System.out.println();

}

Page 36: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IIMétodos con parámetros IIpublic static void dibLinea(int ne, int nc, char inicial, char separacion){

System.out.print(inicial);for (int i=1; i<=nc; i++) {

repiteChar(ne, separacion);S t t i t(i i i l)System.out.print(inicial);

}System.out.println();

}}

Page 37: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IIMétodos con parámetros IIimport java.util.Scanner;

public class Cuadros {

bli t ti id it Ch (i t h l t ){public static void repiteChar (int n, char letra){for(int i=1; i<=n; i++)

System.out.print(letra);}}public static void dibLinea(int ne, int nc, char inicial, char separacion){

System.out.print(inicial);for (int i=1; i<=nc; i++) {for (int i=1; i<=nc; i++) {

repiteChar(ne, separacion);System.out.print(inicial);

}}System.out.println();

}

Page 38: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos

Métodos con parámetros IIMétodos con parámetros IIpublic static void main(String[] args){

Scanner entrada = new Scanner(System.in);

System.out.print("Numero filas:");i t f t d tI t()int nf = entrada.nextInt();System.out.print("Numero columnas:");int nc = entrada.nextInt();System out print("Numero espacios:");System.out.print("Numero espacios:");int ne = entrada.nextInt();

dibLinea(ne nc '+' ' ');dibLinea(ne,nc, + , - );for (int i=1;i<=nf; i++){

dibLinea(ne,nc,'+',' ');dibLinea(ne nc '+' '-');dibLinea(ne,nc, + , );

}}

Page 39: Lección 6. Métodos de objetos y clases - webdiis.unizar.eswebdiis.unizar.es/asignaturas/FI-ITST/material_2010_2011/6_Metodos.pdf · Fundamentos de Informática Lección 6. Métodos