Maison  >  Article  >  développement back-end  >  Introduction détaillée à la méthode d'instanciation des objets d'interface en C#

Introduction détaillée à la méthode d'instanciation des objets d'interface en C#

黄舟
黄舟original
2017-03-21 11:32:532227parcourir

L'éditeur suivant vous apportera un article C# méthode d'instanciation des objets d'interface. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour y jeter un œil

De très nombreux objets d'interface sont utilisés dans le modèle de conception tête la première

Tout d'abord, pour clarifier un problème, les interfaces peuvent non seulement déclarer des objets, mais également instancier des objets, peut également être transmis en tant que paramètre.

1. Rappel d'interface

C'est la transformation ascendante de l'héritage. Classe parent FL=new subclass (); mais la classe parent ici est l'interface. (Personnellement, je pense que l'usage est le même qu'il s'agisse d'un remplacement de classe ou d'une réécriture d'interface)

Vous pouvez attribuer la référence de l'objet créé par la classe qui implémente une certaine interface à la variable d'interface déclarée par l'interface, alors les variables d'interface peuvent appeler des méthodes dans l'interface implémentée par la classe. En effet, lorsqu'une variable d'interface appelle une méthode dans l'interface implémentée par une classe, elle notifie à l'objet correspondant d'appeler la méthode d'interface

directement dans le code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
  interface Itemp
  {
    double plus();
  }
  public class num : Itemp
  {
    double aa, bb;
    public num(double a, double b)
    {
      this.bb = b;
      this.aa = a;
    }
    public double plus()
    {
      return (aa * bb);
    }
  }
  class Program
  {
    static void Main(string[] args)
    {
      num n = null;//声明类对象引用
      Itemp tm = null;//声明接口对象引用
      tm = new num(1.1, 2.2);//接口回调(向上转型)
      Console.WriteLine(tm.plus());
      Console.ReadKey();
    }
  }
}

Grâce à l'exemple ci-dessus, il n'est pas difficile de voir que l'instanciation d'un objet d'interface est en fait un objet d'interface comme référence pointant vers toutes les méthodes de la classe qui implémente sa méthode. similaire au C Pointeur de fonction (similaire à un délégué en C#), mais il y a une différence. L'instanciation des objets d'interface en C# est en fait un-à-plusieurs, tandis que les pointeurs de fonction en C sont un-à-un.

Cependant, il convient de noter que l'instanciation d'un objet d'interface doit être instanciée avec la classe qui l'implémente, et ne peut pas être instanciée avec l'interface elle-même. L'utilisation d'une interface elle-même pour instancier ses propres objets n'est pas autorisée en C#.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn