Professional Documents
Culture Documents
Introducción al C#
Conceptos Generales
ICEL
8 de diciembre de 2010
¿Que es C#? Lenguaje Orientado a Objetos
Contenido
1 ¿Que es C#?
Contenido
1 ¿Que es C#?
Conceptos
Caracterísiticas
¿Que es C#? Lenguaje Orientado a Objetos
Conceptos
¿Que es C#?
Caracterísiticas
Características
Caracterísiticas
Características
Contenido
Objetos
Objeto
Objetos
Herencia
Objetos
Herencia
Ejemplo
La herencia es un ejemplo del diseño orientado a objetos conocido
como una relación “is-a” (es-un), por ejemplo: “un empleado es una
persona”.
Clase
Clase
Descripción
Una Clase es una plantilla para un objeto.
Una Clase define las operaciones que un objeto puede realizar y
define un valor que mantiene el estado del objeto, los
componentes principales de una clase son: métodos, eventos y
propiedades.
Una instancia de una clase es un objeto, se accede a la
funcionalidad de un objeto invocando sus métodos y accediendo
a sus propiedades, eventos y campos.
¿Que es C#? Lenguaje Orientado a Objetos
Clase
Clase
Descripción
Una clase utiliza modificadores para especificar la accesibilidad
de la clase y sus componentes, los componentes de una clase
son llamados miembros por lo que existen diferentes tipos de
miembros.
Una referencia se refiere a una instancia, una instancia es la
creación de un objeto del tipo clase que se está declarando. Una
clase utiliza ninguno, uno o más constructores para ayudar a
definir la instancia de una clase.
Existe una palabra reservada llamada this que sirve para hacer
referencia a la clase actual en el ámbito en el cual es utilizada.
Cuando se hace referencia a una variable de instancia que tiene
el mismo nombre de un parámetro se debe utilizar this.name.
¿Que es C#? Lenguaje Orientado a Objetos
Función Miembro
Función Miembro
Campos Estáticos
Campo Estático
Campos Estáticos
Ejemplo: MiContador.cs
1 using System;
2 class MiContador{
3 //Campo Estatico
4 public static int iContador = 0;
5 public MiContador(){
6 iContador++;
7 }
8 }
9 class App{
10 public static void Main(){
11 MiContador ContadorA = new MiContador();
12 Console.WriteLine(MiContador.iContador);
13 MiContador ContadorB = new MiContador();
14 Console.WriteLine(MiContador.iContador);
15 }
16 }
¿Que es C#? Lenguaje Orientado a Objetos
Clase Base
Clase Base
Ejemplo: Persona.cs
1 using System;
2 abstract public class Persona{//Indica que la clase es abstracta
3 //Propiedades
4 public string sNombre;
5 public int iEdad;
6 //Constructor
7 public Persona(string sNombre, int iEdad){
8 this.sNombre = sNombre;
9 this.iEdad = iEdad;
10 }
11 // M t o d o s
12 abstract public string Tipo();// M t o d o que la clase derivada debe implementar
13 }
¿Que es C#? Lenguaje Orientado a Objetos
Herencia
Clase Derivada
Ejemplo: Empleado.cs
Clase Sealed
Clase Sealed
Una Clase sealed se utiliza para prevenir que una clase sea
utilizada como una clase base, su principal uso es para prevenir
la derivación no planeada.
¿Que es C#? Lenguaje Orientado a Objetos
Clase Sealed
Ejemplo: ClaseDerivada.cs
Clase Sealed
Overloading/Sobrecarga
Clase Sealed
Ejemplo: Persona2.cs
1 using System;
2 public class Persona{
3 //Propiedades
4 public string sNombre;
5 public int iEdad;
6 private double dSueldo;
7 //Constructor
8 public Persona(string sNombre, int iEdad){
9 this.sNombre = sNombre;
10 this.iEdad = iEdad;
11 }
12 // M t o d o s
13 public string Tipo(){
14 return "Persona";
15 }
16 public void AsignarSueldo(double dSueldo){
17 this.dSueldo = dSueldo;
18 }
19 public double ObtenerSueldo(){
20 return this.dSueldo;
21 }
22 }
23 //Herencia Simple
24 public class Empleado : Persona{
25 public Empleado(string sNombre, int iEdad):base(sNombre, iEdad){}
26 public new string Tipo(){
27 return "Empleado";
28 }
29 double dSueldo;