sábado, 30 de julio de 2011

C# – Modificadores de Acceso I [Básico]


En el anterior tutorial nos quedo la clase Perro con muchas variables(Propiedades), supongamos al caso que nosotros quisiésemos acceder y obtener datos de alguna propiedad. Como esta ahora, nuestra clase no puede ser accedida ya que todas las propiedades no tiene un modificador de acceso seteado y para el compilador esto quiere decir que es private.
Para acceder debemos declara a nuestra propiedades como public.

En este tutorial veremos public y private, hay mas modificadores, pero por el momento solo usaremos estas

Definiciones

Public: Puede ser accedida fuera de la clase.
Private: Solo puede ser accedida desde la clase donde se la creo.
Un poco confuso, pero veamos.
private string nombre;
private int edad;
private string raza;
public bool pedigree;

Como puede ver, nosotros declaramos que nombre, edad y raza como privados, esto quiere decir que podemos acceder a ellas solo dentro de la clase Perro. Ahora, pedigree es publica, eso quiere decir que podemos obtener datos de ella no solo dentro de la clase Perro, si no tambien fuera de ella.

this es una palabra para declara que estas seleccionando la clase en la que estas trabajando

Si ponemos this en la clase perro, podemos notar que las propiedades privadas tienen un candadito, y que la publica no tiene nada.

Ahora para acceder a la propiedad pedigree desde otra clase, debemos llamarlo por el nombre del objeto que se creo a partir de la clase perro(galgo, pitbull o sanbernardo) seguido de un punto y el nombre de la propiedad publica.

Como ven, cuando pusimos el punto delante del nombre galgo, podemos acceder a la propiedad pedigree.

Prueben ustedes creando mas variables y asignándole modificadores de acceso y manejarlos un poco, así ven como funcionan.

Aca termina el tutorial de modificadores de acceso, en el próximo veremos las funciones.

Codigo Completo
Perro.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial_13ro
{
class Perro
{
private string nombre;
private int edad;
private string raza;
public bool pedigree;
 
public Perro(string Nombre, int Edad, string Raza, bool Pedigree) // Constructor
{
nombre = Nombre;
edad = Edad;
raza = Raza;
pedigree = Pedigree;
 
if (pedigree == true)
{
Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad "
+ edad + ", la raza es " + raza + "y posee Pedigree");
}
else
{
Console.WriteLine("El nombre del perro es " + nombre + ", tiene la edad "
+ edad + ", la raza es " + raza + "y no posee Pedigree");
}
}
}

Program.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial_13ro
{
class Program
{
static void Main(string[] args)
{
Perro galgo;
Perro pitbull;
Perro sanbernardo;

galgo = new Perro("Pepe", 4, "Galgo", true);
pitbull = new Perro("Polo", 2, "Pitbull", false);
sanbernardo = new Perro("Rocko", 2, "San Bernardo", true);
}
}
}