Tema: Clases y Objetos en C#. Parte II.

Anuncio
Programación II. Guía No. 5
1
Facultad:
Ingeniería
Escuela:
Computación
Asignatura: Programación II
Tema: Clases y Objetos en C#. Parte II.
Objetivos

Implementar clases, objetos, propiedades, métodos y mensajes.

Crear, analizar y comprender cuando utilizar las clases.

Crear constructores de clases.
Materiales y Equipo
 Computadora con el software Visual Studio 2013.
 Guía Número 5.
Introducción Teórica
En esta práctica se tratarán los niveles de acceso y constructores para la definición de clases y
creación de objetos.
Los métodos constructor y destructor.
El método constructor es un método muy diferente de todos los demás. En primer lugar, su
nombre coincide siempre con el de la clase a la que pertenece, se ejecuta automáticamente al
declarar un objeto como instancia de una clase; se escribe generalmente en la sección pública
de una clase, y su función es crear e iniciar un objeto del tipo de la clase en la cual fue definido.
De esta manera, los constructores permiten asegurar que los objetos, al crearse, se inicialicen
con valores válidos.
Además, un constructor no es ni un procedimiento ni una función, y por lo tanto no tiene
asociado ningún tipo de retorno (ni siquiera void). Por último, el usuario nunca invoca un
constructor de manera explícita. Esto no tendría sentido, pues de lo que se trata es de que los
objetos sean inicializados de manera implícita por C#, sin intervención alguna por parte del
usuario. Por ello, el constructor de una clase es invocado automáticamente justo después de
cada declaración de un objeto de esa clase.
2
Programación II. Guía No.5
Sintaxis para la definición del método constructor:
<nombre de clase> (<listado de parámetros>)
{ cuerpo del constructor
}
ó
<nombre de clase> ( )
{ }
El método destructor es una función que se ejecuta automáticamente al destruirse un objeto.
Lleva el mismo nombre de la clase, va precedido por el símbolo “~” y no lleva argumentos.
Un objeto se destruye al terminar el programa en el cual se creó y libera el espacio de
memoria.
El usuario nunca debe ejecutar un destructor de forma explícita. Los destructores son
invocados automáticamente por C# a través del Garbage Collector cada vez que
considera que un objeto debe dejar de existir. POR ELLO NO LO MODIFICAREMOS
DENTRO DEL CÓDIGO DE NUESTRO PROGRAMA.
Sintaxis para la definición del método destructor:
~ <nombre de clase> ( )
{
}
Uso de constructores múltiples.
C++ utiliza las capacidades de sobrecarga de funciones para que una clase tenga varios
constructores.
Los constructores múltiples hacen referencia a que en una misma clase se puede incluir más
de un constructor. Esto permite dar mayor flexibilidad a la declaración de la clase.
Existen tres tipos de constructores:
Constructor por omisión: es aquel que no tiene parámetros y su cuerpo no contiene
instrucciones. Cuando se crea un objeto, si éste es global, el constructor inicializa con
cero aquellos atributos que son numéricos y con NULL a los que son alfabéticos. Si el
objeto creado es local, entonces los atributos se inicializan en valores determinados.
Programación II. Guía No.5
3
Constructor con parámetros: es aquel que tiene una lista de parámetros, a los cuales
habrá que darles un valor en el momento de declarar un objeto. Dichos valores se
usarán para instanciar los atributos del objeto creado.
Constructor con parámetros por omisión: es aquel que tiene una lista de
parámetros, a los cuales se les asigna un valor por omisión que se usará para
inicializar en caso de que no se den explícitamente otros valores.
Se llama constructor de oficio o por defecto al constructor que define automáticamente el
compilador si el usuario no define ningún constructor.
Si bien todo constructor de oficio es constructor por defecto (ya que no tiene argumentos), lo
contrario no es cierto: el programador puede definir constructores por defecto que no son de
oficio.
Importante: el compilador sólo crea un constructor de oficio en el caso de que el programador
no haya definido ningún constructor. En caso de que sólo se haya definido un constructor con
argumentos y se necesite un constructor por defecto para crear, por ejemplo un vector de
objetos, el compilador no crea este constructor por defecto sino que da un mensaje de error.
Procedimiento
Ejemplo
No. 1:
Bibliografía
En el siguiente programa vamos a implementar dos constructores diferentes y diferentes
formas
de darle
Guía
1 valores. El problema trata sobre una persona, la cual tiene un nombre, una
edad, un peso y también cursa materias con sus respectivas notas. El usuario definirá cual es
la nota mínima para aprobar y saber cuál es el rendimiento del alumno, en base a sus
calificaciones.
Dentro de la solución del proyecto tendremos definidas dos clases (además de la principal); la
clase Persona y la clase Materia, las cuales añadiremos como hemos visto en la guía anterior.
NOTA: El proyecto podrá ser nombrado como usted elija.
4
Programación II. Guía No.5
Clase Materia
Clase Persona
Programación II. Guía No.5
Clase Program (clase principal)
5
6
Programación II. Guía No.5
Análisis de Resultados
Ejercicio No.1:
a) Modificar el programa anterior de forma que el usuario pueda ingresar de forma manual
las notas del alumno por asignatura (Materia).
b) Se le pide modificar el programa del ejemplo para que puedan ingresarse los datos de
la clase Materia (nombre de la materia, cantidad de horas a la semana y también en
nombre del profesor) Hacer uso de lo investigado en la tarea complementaria de la
guía anterior.
c) Cuando se muestren los datos de la Persona en pantalla adicional a la edad y el peso
deberá mostrar las notas y también los datos de la materia (modifique o añada
constructores de ser necesario, también puede agregar propiedades).
Investigación Complementaria
Tarea
No.1:3
Guía
Crear un programa que a través de un menú permita realizar las siguientes funciones:
Guía
4 objetos de tipo triángulo. Deberá solicitarse al usuario que tipo de triángulo se
a) Crear
desea crear: Equilátero, Isósceles o Escaleno. (Es decir que debe crearse una clase de
fía
Programación II. Guía No.5
7
tal manera que los objetos posean base y altura y los valores de los tres lados del
triángulo).
b) En cualquier momento modificar los atributos de los objetos.
c) Calcular el área de un objeto en particular, de dos maneras (por medio de los lados o
por medio de la base y la altura; considerar que según el tipo de triángulo, existe una
fórmula para calcular su área).
d) Calcular el perímetro de un objeto en particular (considerar que según el tipo de
triángulo, existe una fórmula para calcularlo).
e) Salir del programa.
Tarea N° 2:
Investigue en qué consiste y en qué casos puede utilizarse la Liberación explícita de
recursos. Demuestre con un caso práctico.
Descargar