집 >백엔드 개발 >C#.Net 튜토리얼 >C# 학습 일기 26---인터페이스 유형
인터페이스에는 클래스 또는 구조가 구현할 수 있는 관련 기능 집합의 정의가 포함되어 있습니다. 예를 들어 인터페이스를 사용하면 클래스에 여러 소스의 동작을 포함할 수 있습니다. 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(); } } }
결과:
내 인터페이스가 제거되어도 작동할 수 있는 것 같습니다.
확인해 보세요. A 프로젝트에는 작성해야 할 클래스가 여러 개 있습니다. 이러한 클래스는 상대적으로 복잡하고 작업량이 상대적으로 크기 때문에 각 클래스에는 작성하는 직원이 필요합니다. 프로그래머 B는 Cat 클래스를 작성할 것입니다. 이 두 클래스는 원래 서로 관련이 없지만 사용자는 둘 다 "호출"에 대한 메소드를 구현해야 하기 때문에 모두 상속하도록 해야 합니다. 또한, 통합 관리를 용이하게 하기 위해 인터페이스를 사용하지 않고도 목적을 달성할 수 있습니다. 그러나 이 경우에는 제약이 없습니다. 그런 클래스나 Duck 클래스 등은 누군가가 놓칠 수밖에 없습니다. 그래서 인터페이스를 통해 더 안정적이고 더 바인딩됩니다.
위 내용은 C# 학습 일기 26-입니다. --인터페이스 유형. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!