1.- ¿Que es una clase abstracta?
Son clases de las que no es posible crear instancias; frecuentemente,
están implementadas sólo parcialmente o no están implementadas.
2.- Formato General de una clase abstracta
interface I
{
void M();
}
abstract class C: I
{
public abstract void M();
}
3.-Diferencia entre interface y clase abstracta.
Pareciera que son lo mismo, las clases abstractas no se implementa y las interfances tampoco. Pero las interfances son mas un conjunto de comportamientos definidos, que esperan ser implementados por el programador. Las clases abstractas, en primer lugar deben ser heredadas para ser implementadas en su totalidad o parcialmente, las clases abstractas se usan mas para una relacion de " es un ".
4.-Ejemplo de clase abstracta
using System;
namespace ClaseAbstracta {
//clase abstracta
abstract class Persona {
//atributo abstracto
protected string nombre;
public abstract string Nombre {
get;
set;
}
//metodo abstracto
public abstract string Info();
}
//clase Alumno
class Alumno: Persona {
private int grado;
private int nivel;
public override string Nombre {
get {
return nombre;
}
set {
nombre = value;
}
}
//otra propiedad
public int Grado {
get {
return grado;
}
set {
grado = value;
}
}
//otra propiedad
public int Nivel {
get {
return nivel;
}
set {
nivel = value;
}
}
//constructor
public Alumno (string nom, int niv, int grado){
this.nombre = nom;
this.nivel = niv;
this.grado = grado;
}
public override string Info() {
return "Nombre: " + this.nombre + " - Nivel: " +
this.nivel + " - Grado: " + this.grado;
}
}
5.- Ventajas de una clase abstracta y una interface.
Clase abstrácta
* Describen partes de objetos.
* Utilizadas en polimorfismo para definir operaciones comunes.
* Se pueden utilizar junto con la herencia.
Interfaz
* Una de las principales ventajas de utilizar interfaces es el polimorfismo ya que separamos la definicion de los metodos de su implementación.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario