You are on page 1of 7

Asignatura:

Programacin .NET II
Facilitador: TERESITA DE JESUS GOMEZ GONZALEZ
Alumno:
Matricula:

Actividad
Actividad 2. Encapsulacin de datos mediante C#

El alumno integrar los datos, con el fin de construir un objeto, deber titular su objeto de forma que
pueda abarcar dato miembro y pueda manipularlos.
Para ello, se proporcionara los alumnos(as) el nombre y los datos que deber contener su objeto. A
continuacin se presentan los objetos.

Objeto
Empleado

Automvil

Mascota

Fruta

Tipo
string
string
string

Nombre de la variable
Nombre
Tarjeta
Puesto

string
int
double

Marca
Modelo
Costo

string
string
int

Nombre
Raza
Edad

string
double
string

Nombre
Precio
Presentacin (pza, kilo,
reja, etc.)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DPRN2_U1_A2_LULP
{
class Program
{
static void Main(string[] args)
{
Empleado empl = new Empleado();
empl.setNombre("Luis");
empl.setPuesto("Director");
empl.setTarjeta("D100");
Automvil auto = new Automvil();
auto.SetMarca = "Porche";
auto.SetModelo = 911;
auto.SetCosto = 30000;
Mascota fifi=new Mascota();
fifi.nombre = "fifi";
fifi.edad = 1;
fifi.raza = "Labrador";

Fruta fresaC = new Fruta();


fresaC.nombre="Fresa Congelada";
fresaC.precio = 38;
fresaC.presentacin = "kilogramo";
Console.WriteLine("Producto {0} a {1:C} cada {2}",fresaC.nombre,fresaC.precio,fresaC.presentacin);
Console.WriteLine("Se regala {0} de {1} ao, de nombre {2}", fifi.raza, fifi.edad, fifi.nombre);
Console.WriteLine("Vendo "+auto.GetMarca+ " modelo "+auto.GetModelo+" a solo "+auto.GetCosto );
Console.ReadKey();
}
}
//Forma 1 mas trabajosa pero muestra que son variables protegidas, ademas puedes tener diferentes permisos en el set y en el get
// por ejemplo cualquier clase puede ver el valor con un getVarible publico y solo se podra modificar la variable dentro del
//program con un setVariable internal.
class Empleado
{
private string Nombre;
private string Tarjeta;
private string Puesto;
public string getNombre()
{
return Nombre;
}
public void setNombre(string n)
{
Nombre = n;
}
public string getTarjeta()
{
return Tarjeta;
}
public void setTarjeta(string t)
{
Tarjeta = t;
}
public string getPuesto() // cualquiera puede verla
{
return Puesto;
}
internal void setPuesto(string p) // pero no todos pueden cambiarla
{
Puesto = p;
}
}
//Forma 2 (no recomendada)
class Automvil
{
private String marca;
private int modelo;
private double costo;
public String GetMarca
{

get { return marca; }


}
public String SetMarca
{
set { marca = value; }
}
public int GetModelo
{
get{ return modelo; }
}
public int SetModelo
{
set{ modelo = value; }
}
public double GetCosto
{
get { return costo;}
}
public double SetCosto
{
set { costo = value; }
}
}
//*Forma 3 la mas facil y definiendo una propiedad ya que esta integrada al lenguaje pero no muestra que son variables protegidas,
debido a que una propiedad realmente nos permite acceder a un dato que la clase, siempre tendremos un campo relacionado con
una propiedad. El campo ser el que contenga el valor y la propiedad ser la que nos permita manipular ese valor.
Las propiedades las declaramos como cualquier otra funcin, con la diferencia de que no podemos usar parntesis despus del
nombre y que en el cuerpo de la propiedad, que estar limitado por las tpicas llaves, tendremos que indicar dos bloques de cdigo,
los cuales servirn para diferenciar el cdigo que el compilador utilizar para recuperar el valor de la propiedad o el usado para
hacer la asignacin.
Esos dos bloques estarn indicados por la instruccin get, para recuperar el valor, y la instruccin set, para asignar el valor.
El bloque set tendr un parmetro implcito que representa al valor indicado a la derecha del signo igual de la asignacin y se llama
value. tenemos dos bloques de cdigo, el bloque get que es el que se usa cuando queremos acceder al valor de la propiedad, por
tanto devolvemos el valor del campo privado usado para almacenar ese dato. El bloque set es el usado cuando asignamos un valor a
la propiedad, este bloque tiene predefinido un parmetro (value) que representa al valor que queremos asignar a la propiedad.*//
class Mascota
{
private string Nombre;
private string Raza;
private int Edad;
public string nombre // aqui el set y el get son publicos
{
get { return Nombre; }
set { Nombre = value; }
}
public string raza
{
get { return Raza; }
set { Raza = value; }
}

public int edad


{
get { return Edad; }
set { Edad = value; }
}
}
class Fruta
{
private string Nombre;
private double Precio;
private string Presentacin;
public string nombre
{
get { return Nombre; }
set { Nombre = value; }
}
public double precio
{
get { return Precio; }
set { Precio = value; }
}
public string presentacin
{
get { return Presentacin; }
set { Presentacin = value; }
}
}
}

You might also like