>백엔드 개발 >C#.Net 튜토리얼 >C# 학습 일기 26---인터페이스 유형

C# 학습 일기 26---인터페이스 유형

黄舟
黄舟원래의
2017-01-21 15:33:281855검색

인터페이스에는 클래스 또는 구조가 구현할 수 있는 관련 기능 집합의 정의가 포함되어 있습니다. 예를 들어 인터페이스를 사용하면 클래스에 여러 소스의 동작을 포함할 수 있습니다. C# 언어는 다중 상속을 지원하지 않으므로 인터페이스를 통해 다중 상속이 가능합니다. 즉, 인터페이스에는 멤버(속성, 이벤트, 인덱서) 선언만 포함됩니다. 멤버 정의가 구현되는 방법은 파생 클래스에 따라 결정됩니다.

인터페이스 선언:

인터페이스는 클래스 선언과 유사한 인터페이스 키워드를 사용하여 선언됩니다. 인터페이스 선언은 기본적으로 공개되며 인터페이스에는 상수, 필드, 연산자, 인스턴스 생성자, 소멸자 또는 유형이 포함될 수 없습니다. 인터페이스 멤버는 자동으로 공개 멤버가 되며 액세스 한정자를 포함할 수 없습니다. 회원은 정적 회원일 수도 없습니다. 예:

공용 인터페이스 사람 //인터페이스 정의

{ void setname();} //메서드 선언

인터페이스 인스턴스:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test1  
{//定义一个person接口  
    public interface person  
    {//只声明方法  
        void setname(string name);  
        void setsex(char sex);  
        void setage(uint age);  
        void getinformation();  
    }  
    //people继承于person  
    class people:person  
    {  
        private string name;  
        private char sex;  
        private uint age;  
        //实现接口中的方法  
       public void setname(string name)  
        { this.name = name; }  
       public void setsex(char sex)  
        { this.sex = sex; }  
       public void setage(uint age)  
        { this.age = age; }  
       public void getinformation()  
        {  
            Console.WriteLine("姓名:\t"+name);  
            Console.WriteLine("性别:\t"+sex);  
            Console.WriteLine("年龄:\t"+age);  
        }  
      
    }  
    //多重继承  
    class student :people,person  
    { }  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            people peo = new people();  
            peo.setname("HC666");  
            peo.setsex('男');  
            peo.setage(18);  
            peo.getinformation();  
  
            student stu = new student();  
            stu.setname("HC555");  
            stu.setsex('男');  
            stu.setage(19);  
              
            stu.getinformation();  
        }  
    }  
}

결과:

C# 학습 일기 26---인터페이스 유형

내 인터페이스가 제거되어도 작동할 수 있는 것 같습니다.

확인해 보세요. A 프로젝트에는 작성해야 할 클래스가 여러 개 있습니다. 이러한 클래스는 상대적으로 복잡하고 작업량이 상대적으로 크기 때문에 각 클래스에는 작성하는 직원이 필요합니다. 프로그래머 B는 Cat 클래스를 작성할 것입니다. 이 두 클래스는 원래 서로 관련이 없지만 사용자는 둘 다 "호출"에 대한 메소드를 구현해야 하기 때문에 모두 상속하도록 해야 합니다. 또한, 통합 관리를 용이하게 하기 위해 인터페이스를 사용하지 않고도 목적을 달성할 수 있습니다. 그러나 이 경우에는 제약이 없습니다. 그런 클래스나 Duck 클래스 등은 누군가가 놓칠 수밖에 없습니다. 그래서 인터페이스를 통해 더 안정적이고 더 바인딩됩니다.

위 내용은 C# 학습 일기 26-입니다. --인터페이스 유형. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.