Sie sind auf Seite 1von 10

Ingeniera en

Desarrollo de
Software

Ezequiel Arredondo
Castillo
Matricula AL10506174

Actividad 1
Herencia

Cuadro comparativo de las caracteristicas de las


diferentes clases
TIPO DE
CLASES

DEFINICIN

USO

ALCANCE

Normale
s

Es una plantilla para la creacin de


entidades u objetos existentes o
representados en el mundo real.
Ejemplo : Crculo, es un objeto
identificable. Con caractersticas
definidas.

Para la representacin de
objetos o entidades con
sus atributos y
comportamiento
especfico.

Abastra
ctas

Es una representacin de conceptos


los cuales no tienen una
representacin en el mundo real.
Ejemplo : FiguraGeometrica. No
existe una entidad especfica
llamada FiguraGeometrica, existen
crculos cuadrados, etc.

Proporcionar una definicin Las clases abstractas


comn de una clase que
slo tienen todos con
sirva de patrn o base para alcance public o
que las clases derivadas
protected
implementan el
comportamiento
previamente declarado.

Define una forma estndar y pblica


de especificar el comportamiento de
una clase, sin importar su ubicacin
en la jerarqua de clases.

Para modelar herencia


mltiple, imponiendo
conjuntos mltiples de
comportamientos a la
clase. Para tener
implementacin de
mtodos similares en
clases sin relacionar

Interfac
es

Los miembros de la clase


estndar o normales
pueden tener cualquiera
modificador de acceso.

CARACTERSTICAS
Puede heredar atributos y
mtodos. Pueden especializarse y
heredarse sin tener un lmite para
ello. Pueden ser instanciadas.

No se permite instanciar un objeto


a partir de una clase abstracta. Los
mtodos que se definen como
abstractos no se definen. Esto
indica que toda clase que herede
de l debe integrar el cdigo para
que realice su funcin.

Todos sus mtodos son


Todos los mtodos una interface
pblicos, para que
son mtodos abstractos ( firmas
puedan ser
de mtodos sin implementacin).
implementados por otras Permite la implementacin de
clases. Todas la variables clases con comportamientos
en una interface son
comunes, sin importar su ubicacin
automticamente public en la jerarqua de clases.
final.

Selladas

Es una clase estndar o normal, con


la diferencia que restringe la
herencia lineal. En contras palabras
no es posible la especializacin de
dicha clase.

Para impedir la derivacin


o especializacin. Obtener
mejor desempeo u
optimizacin en tiempo de
ejecucin.

Los miembros de la clase


No puede usarse como base en una
estndar o normales
jerarqua de herencia. Esta debe
pueden tener cualquiera
ser la ltima en la jerarqua lineal.
modificador de acceso.

Ejemplo de clase estandard, abastracta, interfaz, clase


selladas
Clase abstracta
abstract class Persona {
protected String nombre;
protected char sexo;
protected int edad;
protected Double peso;
protected Double estatura;
public Persona(String nombre, char sexo, int edad, Double peso, Double estatura){
this.nombre=nombre;
this.sexo=sexo;
this.edad=edad;
this.peso=peso;
this.estatura=estatura;
}
public void comer(){
System.Console.WriteLine("He comido");
}

public void crecer(int edad, Double peso, Double estaura){


this.edad=edad;
this.peso=peso;
this.estatura=estatura;
System.Console.WriteLine("he crecido");
}
public void dormir(){
System.Console.WriteLine("He dormido");
}

/* Mtodo abstracto sin implementar


*---------------------------------------------*/
abstract public void reporducirse();
/* Sets y Gets
* ------------------------------------------*/
public String Nombre{
get {return nombre;}
set {nombre=value;}
}
public char Sexo{
get {return sexo;}
set {sexo=value;}
}
public int Edad{
get {return edad;}
set {edad=value;}
}
public Double Peso{
get {return peso;}
set {peso=value;}
}
public Double Estatura{
get {return estatura;}
set {estatura=value;}
}
}

Clase normal
class Alumno{
protected
protected
protected
protected

int idMatricula;
int cicloEscolar;
int idCarrera;
Double promedio;

public Alumno(int idMatricula, int cicloEscolar, int idCarrera, Double promedio) {


this.idMatricula = idMatricula;
this.cicloEscolar = cicloEscolar;
this.idCarrera = idCarrera;
this.promedio = promedio;
}
public int IdMatricula{
get {return idMatricula;}
set {idMatricula=value;}
}
public int CicloEscolar{
get {return cicloEscolar;}
set {cicloEscolar=value;}
}
public int IdCarrera{
get {return idCarrera;}
set {idCarrera=value;}
}
public Double Promedio{
get {return promedio;}
set {promedio=value;}

Interfaz

La interfaz es una clase que establece que comportamiento debe de realizar la clase que la
implemente Como puede observarse nada mas se establecen los mtodos sin
implementar.
interface Ciclista{
entrenar();
competir();
}

Clase sellada
La clase Difunto es est basada en la clase abstracta Persona.Sin embargo por ser una
clase sellada no es posible seguir especializando dicha clase. Solo se pueden instanciar
objetos a partir de ella.
sealed class Difunto:Persona{
protected DateTime fechaDefuncion;
protected String lugarDefuncion;
protected String motivoDefuncion;
public Difunto(String nombre, char sexo, int edad, Double peso, Double estatura, DateTime fechaDefuncion, String
lugarDefuncion, String motivoDefuncion):
base(nombre, sexo, edad, peso, estatura)
{
this.fechaDefuncion=fechaDefuncion;
this.lugarDefuncion=lugarDefuncion;
this.motivoDefuncion=motivoDefuncion;

Semejanzas y difencias
Clases estndares vs Clases selladas
Las clases estndares son prcticamente iguales a las selladas la nica
diferencia es que en el caso de las clases selladas tienen la restriccin de no
poderse especializar o utilizarse para la generacin de otra clase.

Clases abstractas vs Interfaces.


Todos los mtodos de una interface son mtodos abstractos mientras algunos
mtodos de una clase abstracta son mtodos abstractos.
Una interfaz puede definir constantes mientras que una clase abstracta puede
tener campos o atributos.
Las interfaces no tienen ninguna relacin de herencia directa con una clase
particular, se definen independientemente.

Uso en la vida real de herencia simple, multiple y


simple-mltiple
Herencia simple
Cuando uno hereda un bien a alguna otra persona o cuando uno le
ensea algo o le comparte conocimiento.

Herencia mltiple
En el nacimiento de un hijo se da la herencia mltiple, ya que hereda
caractersticas de sus dos padres.

Herencia simple-mltiple
Las caractersticas que hemos heredados de uno de nuestros padres que a
su vez fue heredado de uno de nuestros abuelos.

Das könnte Ihnen auch gefallen