C 언어
이 자습서에서는 예제를 통해 C# 인터페이스에 대해 배웁니다.
C#에서 인터페이스는 추상 클래스와 유사합니다. 그러나 추상 클래스와 달리 인터페이스의 모든 메서드는 완전히 추상입니다(본문 없는 메서드).
interface
을 사용합니다. 인터페이스를 만드는 키워드입니다. 예를 들어,
interface IPolygon {
// method without body
void calculateArea();
}
여기,
인터페이스의 개체를 만들 수 없습니다. 인터페이스를 사용하려면 다른 클래스에서 인터페이스를 구현해야 합니다. C# 상속과 동일하게 :
을 사용합니다. 인터페이스를 구현하는 기호입니다. 예를 들어,
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea(int l, int b);
}
class Rectangle : IPolygon {
// implementation of methods inside interface
public void calculateArea(int l, int b) {
int area = l * b;
Console.WriteLine("Area of Rectangle: " + area);
}
}
class Program {
static void Main (string [] args) {
Rectangle r1 = new Rectangle();
r1.calculateArea(100, 200);
}
}
}
출력
Area of Rectangle: 20000
위의 예에서 IPolygon이라는 인터페이스를 만들었습니다. . 인터페이스에 calculateArea(int a, int b)
메서드가 포함되어 있습니다. 구현하지 않고.
여기서 사각형 클래스는 IPolygon을 구현합니다. . 그리고 calculateArea(int a, int b)
의 구현을 제공합니다. 방법.
참고 :인터페이스를 구현하는 클래스 내부의 모든 메소드 구현을 제공해야 합니다.
<시간>상속과 달리 클래스는 여러 인터페이스를 구현할 수 있습니다. 예를 들어,
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea(int a, int b);
}
interface IColor {
void getColor();
}
// implements two interface
class Rectangle : IPolygon, IColor {
// implementation of IPolygon interface
public void calculateArea(int a, int b) {
int area = a * b;
Console.WriteLine("Area of Rectangle: " + area);
}
// implementation of IColor interface
public void getColor() {
Console.WriteLine("Red Rectangle");
}
}
class Program {
static void Main (string [] args) {
Rectangle r1 = new Rectangle();
r1.calculateArea(100, 200);
r1.getColor();
}
}
}
출력
Area of Rectangle: 20000 Red Rectangle
위의 예에는 IPolygon이라는 두 개의 인터페이스가 있습니다. 및 IColor .
class Rectangle : IPolygon, IColor {
…
}
Rectangle에서 두 인터페이스를 모두 구현했습니다. ,
로 구분된 클래스 .
이제 Rectangle
두 인터페이스의 메소드를 구현해야 합니다.
인터페이스의 참조 변수를 사용할 수 있습니다. 예를 들어,
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea(int l, int b);
}
class Rectangle : IPolygon {
// implementation of methods inside interface
public void calculateArea(int l, int b) {
int area = l * b;
Console.WriteLine("Area of Rectangle: " + area);
}
}
class Program {
static void Main (string [] args) {
// using reference variable of interface
IPolygon r1 = new Rectangle();
r1.calculateArea(100, 200);
}
}
}
출력
Area of Rectangle: 20000
위의 예에서 IPolygon이라는 인터페이스를 만들었습니다. . 인터페이스에 calculateArea(int l, int b)
메서드가 포함되어 있습니다. 구현하지 않고.
IPolygon r1 = new Rectangle();
IPolygon 인터페이스의 참조 변수를 사용했습니다. . Rectangle 클래스를 가리킵니다. 구현합니다.
인터페이스의 개체를 만들 수는 없지만 구현된 클래스를 가리키는 인터페이스의 참조 변수를 계속 사용할 수 있습니다.
<시간>C# Interface의 보다 실용적인 예를 살펴보겠습니다.
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea();
}
// implements interface
class Rectangle : IPolygon {
// implementation of IPolygon interface
public void calculateArea() {
int l = 30;
int b = 90;
int area = l * b;
Console.WriteLine("Area of Rectangle: " + area);
}
}
class Square : IPolygon {
// implementation of IPolygon interface
public void calculateArea() {
int l = 30;
int area = l * l;
Console.WriteLine("Area of Square: " + area);
}
}
class Program {
static void Main (string [] args) {
Rectangle r1 = new Rectangle();
r1.calculateArea();
Square s1 = new Square();
s1.calculateArea();
}
}
}
출력
Area of Rectangle: 2700 Area of Square: 900
위의 프로그램에서 IPolygon이라는 인터페이스를 만들었습니다. . 추상 메서드 calculateArea()
가 있습니다. .
Square 두 개의 클래스가 있습니다. 및 사각형 IPolygon 구현 상호 작용.
면적 계산 규칙은 다각형마다 다릅니다. 따라서 calculateArea()
구현 없이 포함됩니다.
IPolygon을 구현하는 모든 클래스 calculateArea()
구현을 제공해야 합니다. . 따라서 Rectangle 클래스의 메소드 구현 Square 클래스의 메서드와 독립적입니다. .
인터페이스가 무엇인지 알았으니 C#에서 인터페이스가 사용되는 이유에 대해 알아보겠습니다.
calculateArea()
인터페이스 내부에는 본체가 없습니다. 따라서 메서드의 구현 세부 정보를 숨깁니다.calculateArea()
를 사용했습니다. IPolygon 인터페이스 내부의 사양으로 . 이것은 모든 폴리곤의 면적을 계산해야 한다는 규칙을 설정하는 것과 같습니다. calculateArea()
의 구현을 변경하면 사각형 Rectangle에 영향을 주지 않는 클래스 수업.C 언어
구성품 및 소모품 TowerPro 서보 × 1 작은 경첩 × 1 버튼 × 1 Arduino 윤 × 1 100A 변류기 × 1 저항 및 커패시터 × 7 이 프로젝트 정보 이 프로젝트에 대한 빠른 설명은 아래 두 개의 비디오를 참조하십시오. 물리적 홈 자동화 인터페이스실제 제어와 인터페이스 인터페이스는 정보를 전달하고 사용자가 사물을 제어할 수 있도록 합니다. 대부분의 홈 자동화 플랫폼은 가상 인터페
구성품 및 소모품 Arduino UNO × 1 이 프로젝트 정보 명령줄 센서의 값을 찾아야 하거나 로봇에게 왼쪽으로 이동과 같은 작업을 수행하도록 지시하려는 경우가 있습니다. 프로그램에 변수의 런타임 값을 요청하거나 디지털 전위차계의 값을 설정해야 할 수도 있습니다. 필요한 것은 명령줄입니다. 예, Arduino가 텍스트 명령에 응답하도록 하는 것은 쉽습니다. 여기에 구축할 수 있는 항목이 있습니다. 간단하고 빠르며 메모리 효율성이 매우 높은 명령줄 인터페이스 (CLI)를 사용하