clases abstractas

Páginas: 6 (1370 palabras) Publicado: 9 de marzo de 2014
Programación Orientada a Objetos con C#

Programación Orientada
a Objetos en C#
Clases abstractas
e Interfaces
Autor:
Dr. Ramón Roque Hernández
http://ramonroque.com/Materias/pooTec.htm
ramonroque@yahoo.com
Colaborador:
Ing. Bruno López Takeyas, M.C.
www.itnuevolaredo.edu.mx/takeyas
takeyas@itnuevolaredo.edu.mx
1

Clases abstractas e
Interfaces
• Tanto las clases abstractascomo las
interfaces son mecanismos que
obligan la herencia
• No se pueden instanciar, es decir, no se
puede crear objetos de ellas

2

Dr. Ramón Roque Hernández
M.C. Bruno López Takeyas

1

Programación Orientada a Objetos con C#

Clases Abstractas
• Son clases
instanciadas.

que

NO

pueden

ser

• Se utilizan solamente para heredar de
ellas (Forzar u obligar laherencia).
• Se antepone la palabra “abstract” a la
clase.
3

Clases abstractas

4

Dr. Ramón Roque Hernández
M.C. Bruno López Takeyas

2

Programación Orientada a Objetos con C#

Ejemplo de clase abstracta

5

Implementación de una
clase abstracta en C#
public abstract class ClaseAbstractaPersona
{
Método abstracto
string Nombre;
(debe ser
implementado
DateTimeFechaNacimiento;
en las clases
derivadas)

public abstract void Comer();
public int CalcularEdad()
{
//Aquí se implementa este método
}
}

Dr. Ramón Roque Hernández
M.C. Bruno López Takeyas

6

3

Programación Orientada a Objetos con C#

Ejemplo:
Clase
Abstracta

abstract class Persona
{
private string nombre;
private string apellido;
public string Nombre
{
get { return nombre;}
set { nombre = value; }
}
public string Apellido
{
get { return apellido; }
set { apellido = value; }
class Empleado : Persona
}
{
public string ObtenerNombreCompleto()
private int claveEmpleado;
{
public int Clave
return
{
this.Nombre + " " + this.Apellido;
get { return claveEmpleado; }
}
set { claveEmpleado = value; }
}
}
}
class Cliente : Persona
{
private stringrfc;
public string RFC
{
get { return rfc; }
set { rfc = value; }
7
}
}

Continuación…
Ejemplo de Clase Abstracta
class Programa
{
static void Main()
{
Empleado unEmpleado = new Empleado();
unEmpleado.Nombre = "Juan";
unEmpleado.Apellido = "Gonzalez";
unEmpleado.Clave = 1;
System.Console.WriteLine(unEmpleado.ObtenerNombreCompleto());
Cliente unCliente = new Cliente();unCliente.Nombre = "Pedro";
unCliente.Apellido = "Ramirez";
unCliente.RFC = "RAHP780212";
System.Console.WriteLine(unCliente.ObtenerNombreCompleto());
System.Console.ReadLine();
}
}
8

Dr. Ramón Roque Hernández
M.C. Bruno López Takeyas

4

Programación Orientada a Objetos con C#

Clases Abstractas con
elementos abstractos


Las clases abstractas pueden definir métodos y propiedadesabstractos, con lo que su respectiva implementación en la
subclase es obligatoria. (Los elementos abstractos DEBEN ser
sobreescritos en la subclase).

-

Se utiliza “abstract” para definir elementos abstractos (solo
dentro de clases abstractas).

-

Los elementos abstractos NO proporcionan implementación;
solo declaraciones.

-

En la subclase, se utiliza “override”implementación correspondiente.

para

realizar

la

9

Ejemplo: Clase Abstracta con
elementos abstractos
abstract class Persona
{
private string nombre;
private string apellido;
public string Nombre
{
get { return nombre; }
set { nombre = value; }
}
public string Apellido
{
get { return apellido; }
set { apellido = value; }
}
public abstract int Clave
{ get; set; }

Se DEBENimplementar
estos elementos
al heredar de
esta clase.

public abstract string ConsultarTodosLosDatos();
public string ObtenerNombreCompleto()
{
return
this.Nombre + " " + this.Apellido;
}
}

10

Dr. Ramón Roque Hernández
M.C. Bruno López Takeyas

5

Programación Orientada a Objetos con C#

Continuación…
Clase Abstracta con elementos
abstractos
class Empleado : Persona
{...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Clases Abstractas
  • Clases Abstractas
  • clases abstractas
  • clases abstractas
  • 2 Clases Abstractas e Interfaces
  • clases abstractas nterfaces
  • Clases y metodos abstractos
  • Clase abstracta y relaciones poo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS