Cuáles son las características biológicas que están marcadas en tu individual...
_5 - Prácticas 3 - Constructor. El método mágico..pdf
1. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 1
Constructor. El método mágico.
En C# podemos definir un método que se ejecute inicialmente y en forma automática. Este
método recibe el nombre de constructor.
El constructor tiene las siguientes características:
• Tiene el mismo nombre de la clase.
• Es el primer método que se ejecuta.
• Se ejecuta en forma automática.
• No puede retornar datos.
• Se ejecuta una única vez.
• Un constructor tiene por objetivo inicializar atributos.
Ejercicio 1: Crear una clase vehículo que contenga un constructor que muestre en pantalla, de
manera automática, algunas de las propiedades de la clase e información de un objeto creado.
using System;
namespace ClaseVehiculo1
{
Static void Main(string[] args)
{ // inicia el programa principal
Vehiculo carro = new Vehiculo(); // Instanciar objeto tipo Vehiculo
// Dar un estado inicial a nuestro objeto carro.
Vehiculo carro2 = new Vehiculo();// Instanciar objeto tipo Vehiculo
// Dar un estado inicial a nuestro objeto carro.
Console.WriteLine(carro.getRuedas); // Muestra la cantidad de ruedas
// del objeto carro de tipo Vehiculo
Console.WriteLine(carro2.getInfoVehiculo); // Muestra la cantidad de ruedas
// del objeto carro2 de tipo Vehiculo
} // fin del programa principal
}
class Vehiculo
{ // inicia la clase Vehiculo
private int ruedas; // estableciendo las propiedades de la clase Vehiculo
2. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 2
private double motor;
private string transmission;
private bool aireAcondicionado;
public getRuedas()
{
return ruedas;
}
public string getInfoVehiculo()
{
return “Información del vehículo: n” + “Ruedas: ” + ruedas + “ Motor: ” + motor + “ Transmisión: ”
+ transmisión;
}
public Vehiculo()
{ // inicio del constructor de la clase Vehiculo
ruedas = 4;
motor = 1.5 l;
transmision = “manual”;
} // fin del constructor de la clase Vehiculo
} // fin de la clase Vehiculo
3. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 3
Ejercicio 2: Se desean guardar los sueldos de 5 operarios en un vector. Realizar la creación y carga
del vector en el constructor.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PruebaConstructor1
{
class Operarios
{
private int[] sueldos;
public Operarios()
{
sueldos=new int[5];
for(int f = 0; f < sueldos.Length; f++)
{
Console.Write("Ingrese el sueldo:");
sueldos[f]=int.Parse(Console.ReadLine());
}
}
public void Imprimir()
{
for(int f = 0; f < sueldos.Length; f++)
{
Console.WriteLine(sueldos[f]);
4. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 4
}
Console.ReadKey();
}
static void Main(string[] args)
{
Operarios op = new Operarios();
op.Imprimir();
}
}
}
Como la clase se llama Operarios el constructor tiene el mismo nombre, no disponemos la palabra
clave void ya que el constructor no puede retornar datos.
public Operarios()
{
sueldos=new int[5];
for(int f = 0; f < sueldos.Length; f++)
{
Console.Write("Ingrese el sueldo:");
sueldos[f]=int.Parse(Console.ReadLine());
}
}
La ventaja de plantear un constructor en lugar de definir un método con cualquier nombre es que
se llamará en forma automática cuando se crea un objeto de esta clase:
Operarios op = new Operarios();
Cuando se crea el objeto op se llama al método constructor.
Finalmente llamamos al método imprimir:
op.Imprimir();
5. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 5
Ejercicio 3: Plantear una clase llamada Alumno y definir como propiedades su nombre y su edad.
En el constructor realizar la carga de datos. Definir otros dos métodos para mostrar en pantalla los
datos ingresados y un mensaje si es mayor o no de edad (edad >=18)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PruebaConstructor2
{
class Alumno
{
private string nombre;
private int edad;
public Alumno()
{
Console.Write("Ingrese nombre:");
nombre = Console.ReadLine();
Console.Write("Ingrese edad:");
edad=int.Parse(Console.ReadLine());
}
public void Imprimir()
{
Console.WriteLine("Nombre: "+nombre);
Console.WriteLine("Edad: "+edad);
}
6. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 6
public void EsMayorEdad()
{
if (edad >= 18)
{
Console.Write(nombre+" es mayor de edad.");
}
else
{
Console.Write(nombre+" no es mayor de edad.");
}
}
static void Main(string[] args)
{
Alumno alumno1 = new Alumno();
alumno1.Imprimir();
alumno1.EsMayorEdad();
Console.ReadKey();
}
}
}
Declaramos la clase Alumno, sus dos propiedades y definimos el constructor con el mismo nombre
de la clase:
class Alumno
{
private string nombre;
private int edad;
7. CBTis No. 116 M2.SM1.AMEPOO
ACADEMIA DE PROGRAMACION – OMSP – 2019 Página 7
public Alumno()
{
Console.Write("Ingrese nombre:");
nombre = Console.ReadLine();
Console.Write("Ingrese edad:");
edad=int.Parse(Console.ReadLine());
}
En main el constructor se llama en forma automática cuando creamos un objeto de la clase
Alumno:
static void Main(string[] args)
{
Alumno alumno1 = new Alumno();
Los otros dos métodos deben llamarse por su nombre y en el orden que necesitemos:
alumno1.Imprimir();
alumno1.EsMayorEdad();
Problemas propuestos
1 - Elaborar una clase que represente un empleado. Definir como propiedades su nombre y su
sueldo. En el constructor cargar las propiedades y luego en otro método mostrar en pantalla sus
datos y por último uno que muestre un mensaje que indique si debe pagar impuestos (si el sueldo
supera los 3000 pesos)
2 - Implementar la clase operaciones. Se deben cargar dos valores enteros en el constructor,
calcular su suma, resta, multiplicación y división, cada una en un método, mostrando en pantalla
los resultados de las operaciones realizadas.