C# 
- Diferentes tipos de herança
    ![]()  | 
    Hoje veremos os diferentes tipos de herança suportados na linguagem C#. | 
Neste artigo vamos recordar um dos recursos orientados a objeto mais usado na linguagem C#, a herança.
A linguagem C# suporta os seguintes tipos de herança:

1- Herança Simples
É o tipo de herança em que há uma classe base e uma classe derivada.
		
		
| 
		public class 
		Conta       
		//classe base { public int Numero { get; set; } public double Saldo { get; private set; } } public class ContaPoupanca : Conta //classe derivada { public int JurosMensais { get; set; } }  | 
	
2- Herança Hierárquica
Este é o tipo de herança em que existem várias classes derivadas de uma classe base.
Esse tipo de herança é usado quando há um requisito de um recurso de classe necessário em várias classes.
| 
		 class Program { static void Main(string[] args) { B objl = new B(); C obj2 = new C(); objl.Exibir(); objl.Mostrar(); obj2.Apresentar(); Console.ReadKey(); } }  | 
	
		      class A
      {
          public void Exibir()
          {
                Console.WriteLine("Método da classe A");
          }
      }
      class B : A   // A classe B deriva da classe A
      {
            public void Mostrar()
            {
                Console.WriteLine("Método da classe B");
            }
      }
      class C : A   // A classe C é derivada da classe A
      {
          public void Apresentar()
          {
              Console.WriteLine("Método da Classe C");
          }
      }  
		 | 
	
				

3- Multinível
Quando uma classe é derivada de outra classe derivada, esse tipo de herança é chamado de herança de vários níveis.
		      class A
      {
          public void Exibir()
          {
                Console.WriteLine("Método da classe A");
          }
      }
      class B : A   // A classe B deriva da classe A
      {
            public void Mostrar()
            {
                Console.WriteLine("Método da classe B");
            }
      }
      class C : B   // A classe C é derivada da classe B
      {
          public void Apresentar()
          {
              Console.WriteLine("Método da Classe C");
          }
      }  
		 | 
		
		
 
				  | 
	

4- Múltipla (interface)
A linguagem C# não suporta herança múltipla de classes.
Para superar esse problema, podemos usar interfaces onde uma classe pode implementar mais de uma interface ou de uma classe e de uma ou mais de uma interface.
		class Forma
{
        public void setLado(int s)
        {
            lado = s;
        }
        protected int lado;
}
		interface ICusto
{
        int getCusto(int area);
}
		class Quadrado : Forma, ICusto
{
        public int getArea()
        {
            return (lado * lado);
        }
		        public int getCusto(int area)
        {
            return area * 10;
        }
}
		 | 
		
		
 
				  | 
	

Existem outras formas de implementar a herança múltipla e ainda de simular este tipo de herança mas veremos esse assunto em outro artigo.
E estamos conversados...
"Naquele tempo, respondendo Jesus, 
disse: Graças te dou, ó Pai, Senhor do céu e da terra, que ocultaste estas 
coisas aos sábios e entendidos, e as revelaste aos pequeninos."
Mateus 11:25
Referências: