Haciendo doble clic sobre la clase punto2d vamos a

Info icon This preview shows pages 48–50. Sign up to view the full content.

Haciendo doble-clic sobre la clase Punto2d, vamos a borrar el procedimiento mostrar , y comentamos la instrucción “MessageBox…” de todas las demás rutinas. Cuando queremos reutilizar código, hay que intentar que la entrada y salida de información de las clases sea lo más flexible posible. Como las variables de las coordenadas son públicas, no necesitamos la función mostrar . Podemos mostrar el valor de esas variables en el programa principal en que se usen las clases, y podemos mostrar esos valores en un cuadro de texto, o imprimirlos, sin estar sujetos a que su visualización se produzca vía un mensaje. Para mejorar la clase podríamos haber creado propiedades que se encarguen de recoger o devolver controladamente los valores de las variables en lugar de haberlas dejado públicas. Guardamos la clase, el código quedará: Public Class Punto2d Public x, y As Double 'Variables de la clase Punto2d son públicas, permitirán acceder a ellas. 'Se podrían haber creado como propiedades Sub New () 'Constructor por Defecto. Inicializa las Variables y x = 0 y = 0 'MessageBox.Show("Punto creado con el constructor por defecto", "Constructor por Defecto") End Sub Sub New ( ByVal coord_x As Double , ByVal coord_y As Double ) 'Constructor de parámetros x = coord_x y = coord_y 'MessageBox.Show("Punto creado con el constructor de parametros", "Constructor de Parámetros") End Sub Sub New ( ByVal p2 As Punto2d) 'Constructor de copia x = p2.x y = p2.y 'MessageBox.Show("Punto creado con el constructor de copia", "Constructor de Copia") End Sub Function distanciaA( ByVal p2 As Punto2d) As Double 'Función distancia. Calcula la distancia al 'punto que nos pasan como argumento Dim distanciax, distanciay As Double distanciax = p2.x - x distanciay = p2.y - y distanciaA = Math.Sqrt(distanciax * distanciax + distanciay * distanciay) 'Calculamos la distancia y se la asignamos al nombre de la función. Así devolvemos el valor End Function End Class
Image of page 48

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Herramientas Informáticas para el Geoprocesado Geotecnologías Cartográficas en Ingeniería y Arquitectura Escuela Politécnica Superior de Ávila 49 Universidad de Salamanca Hacemos algo parecido para la clase Punto3d . Borramos la función mostrar , y comentamos los mensajes. La clase nos queda: Guardamos la clase también, le damos a Archivo/Guardar todo y almacenamos el proyecto con nombre “Geotecnologias” . Generamos la librería Geotecnologías.dll. Para hacerlo damos al menú Generar/generar Geotecnologias . Si todo ha ido bien nos habrá dejado la librería Geotecnologias.dll en la carpeta del proyecto, subcarpeta bin y luego en Release . Comprobamos que es así y cerramos el proyecto. 8.1 Utilizar la Biblioteca de clases creada. Creamos un breve proyecto para utilizar la biblioteca creada. El proyecto se llamará “UsarBiblio” y será de tipo Aplicación para windows.
Image of page 49
Image of page 50
This is the end of the preview. Sign up to access the rest of the document.
  • Fall '18
  • Programación orientada a objetos, Common Intermediate Language, Compilador, Microsoft .NET

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern