Transcript
Asignatura: Programación .NET II Facilitador: TERESITA DE JESUS GOMEZ GONZALEZ GON ZALEZ Alumno: Matricula:
Actividad Actividad 2. 2. Encapsulación Encapsulación de datos mediante mediante C#
El alumno integrar los datos, con el fn de construir un objeto, deberá titular su objeto de orma 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 continuación se presentan los objetos.
Objeto Empleado
Automó"il
#ascota
'ruta
Tipo string string string
Nombre de la variable ombre !arjeta Puesto
string int double
#arca #odelo $osto
string string int
ombre %a&a Edad
string double string
ombre Precio Presentación (p&a, ilo, reja, etc.)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DPRN2_!_"2_LLP # class Program # static $oi% &ain'string() args* # +mplea%o empl , ne- +mplea%o'*; empl.setNomre'/Luis/*; empl.setPuesto'/Director/*; empl.setTar0eta'/D!11/*; "utom$il auto , ne- "utom$il'*; auto.Set&arca , /Porc3e/; auto.Set&o%elo , 4!!; auto.SetCosto , 51111; &ascota 6i6i,ne- &ascota'*; 6i6i.nomre , /6i6i/; 6i6i.e%a% , !; 6i6i.ra7a , /Lara%or/;
8ruta 6resaC , ne- 8ruta'*; 6resaC.nomre,/8resa Congela%a/; 6resaC.precio , 59; 6resaC.presentacin , /:ilogramo/;
Console.riteLine'/Pro%ucto #1< a #!=C< ca%a #2>6resaC.nomre>6resaC.precio>6resaC.presentacin*; Console.riteLine'/Se regala #1< %e #!< a?o> %e nomre #2> 6i6i.ra7a> 6i6i.e%a%> 6i6i.nomre*; Console.riteLine'/@en%o /Aauto.Get&arcaA / mo%elo /Aauto.Get&o%eloA/ a solo /Aauto.GetCosto *; Console.Rea%Bey'*; < < 8orma ! mas traa0osa pero muestra que son $ariales protegi%as> a%emas pue%es tener %i6erentes permisos en el set y en el get por e0emplo cualquier clase pue%e $er el $alor con un get@arile pulico y solo se po%ra mo%i6icar la $ariale %entro %el program con un set@ariale internal. class +mplea%o # pri$ate string Nomre; pri$ate string Tar0eta; pri$ate string Puesto; pulic string getNomre'* # return Nomre; < pulic $oi% setNomre'string n* # Nomre , n; < pulic string getTar0eta'* # return Tar0eta; < pulic $oi% setTar0eta'string t* # Tar0eta , t; < pulic string getPuesto'* cualquiera pue%e $erla # return Puesto; < internal $oi% setPuesto'string p* pero no to%os pue%en camiarla # Puesto , p; < < 8orma 2 'no recomen%a%a* class "utom$il # pri$ate String marca; pri$ate int mo%elo; pri$ate %oule costo; pulic String Get&arca #
get # return marca; < < pulic String Set&arca # set # marca , $alue; < < pulic int Get&o%elo # get# return mo%elo; < < pulic int Set&o%elo # set# mo%elo , $alue; < < pulic %oule GetCosto # get # return costo;< < pulic %oule SetCosto # set # costo , $alue; < <
< 8orma 5 la mas 6acil y %e6inien%o una propie%a% ya que esta integra%a al lengua0e pero no muestra que son $ariales protegi%as> %ei%o a que una propie%a% realmente nos permite acce%er a un %ato que la clase> siempre ten%remos un campo relaciona%o con una propie%a%. +l campo serE el que contenga el $alor y la propie%a% serE la que nos permita manipular ese $alor. Las propie%a%es las %eclaramos como cualquier otra 6uncin> con la %i6erencia %e que no po%emos usar parFntesis %espuFs %el nomre y que en el cuerpo %e la propie%a%> que estarE limita%o por las tpicas lla$es> ten%remos que in%icar %os loques %e c%igo> los cuales ser$irEn para %i6erenciar el c%igo que el compila%or utili7arE para recuperar el $alor %e la propie%a% o el usa%o para 3acer la asignacin. +sos %os loques estarEn in%ica%os por la instruccin get> para recuperar el $alor> y la instruccin set> para asignar el $alor. +l loque set ten%rE un parEmetro implcito que representa al $alor in%ica%o a la %erec3a %el signo igual %e la asignacin y se llama $alue. tenemos %os loques %e c%igo> el loque get que es el que se usa cuan%o queremos acce%er al $alor %e la propie%a%> por tanto %e$ol$emos el $alor %el campo pri$a%o usa%o para almacenar ese %ato. +l loque set es el usa%o cuan%o asignamos un $alor a la propie%a%> este loque tiene pre%e6ini%o un parEmetro '$alue* que representa al $alor que queremos asignar a la propie%a%. class &ascota # pri$ate string Nomre; pri$ate string Ra7a; pri$ate int +%a%; pulic string nomre aqui el set y el get son pulicos # get # return Nomre; < set # Nomre , $alue; < < pulic string ra7a # get # return Ra7a; < set # Ra7a , $alue; < <
pulic int e%a% # get # return +%a%; < set # +%a% , $alue; < < < class 8ruta # pri$ate string Nomre; pri$ate %oule Precio; pri$ate string Presentacin; pulic string nomre # get # return Nomre; < set # Nomre , $alue; < < pulic %oule precio # get # return Precio; < set # Precio , $alue; < < pulic string presentacin # get # return Presentacin; < set # Presentacin , $alue; < < < <