>  기사  >  웹 프론트엔드  >  일반 클래스를 개발하는 방법

일반 클래스를 개발하는 방법

WBOY
WBOY앞으로
2023-08-27 23:21:03621검색

일반 클래스를 개발하는 방법

실제 제네릭 클래스를 개발하기 전에 먼저 제네릭 클래스에 대해 이해해 봅시다. 제네릭이라고 불리는 TypeScript 클래스는 여러 유형의 데이터를 처리할 수 있습니다. 다양한 매개변수이며 꺾쇠괄호()를 사용하여 표시됩니다. 이는 클래스가 이 목적을 달성하기 위해 사용할 데이터 유형을 나타냅니다. 그런 다음 클래스의 속성과 함수에서 유형 매개변수를 사용하여 클래스를 유연하게 만들고 다른 데이터 유형과 함께 재사용할 수 있습니다.

몇 가지 브리핑을 하겠습니다. 예제에서는 유형 매개변수가 "T"로 표시되고 단순 일반 클래스 "MyGenericClass"의 속성 "value"가 표시된다고 가정합니다. "T"와 "값"을 모두 생성할 수 있습니다. 이 클래스가 대체 유형(예: "숫자" 또는 "문자열")을 사용하여 인스턴스화되면 "값" 속성은 적절한 유형을 갖게 됩니다.

동일한 클래스를 여러 데이터 유형과 함께 사용할 수 있으므로 코드에 추가적인 유연성과 재사용성이 제공됩니다. 제약 조건을 사용하여 유형 매개변수로 사용되는 종류를 제한할 수도 있습니다.

문법

TypeScript에서 일반 클래스를 생성하는 구문은 다음과 같습니다. -

으아아아

여기서 "ClassName"은 클래스 이름이고 "TypeParameter"는 클래스가 사용할 데이터 유형에 대한 자리 표시자입니다.

예 1

이 예제에서는 TypeScript에서 일반 클래스를 사용하여 여러 데이터 유형을 처리할 수 있는 클래스를 만드는 방법을 보여줍니다. 클래스는 클래스의 속성과 메서드에 사용되는 유형 매개변수 T로 정의되므로 클래스가 다양한 유형의 데이터에 유연하고 재사용될 수 있습니다. "Queue" 클래스에는 T 유형의 배열인 "data"라는 개인 속성이 있습니다.

이 클래스에는 세 가지 메서드도 있습니다. "enqueue"는 대기열 끝에 항목을 추가하고, "dequeue"는 대기열의 맨 앞에서 항목을 제거하고, 대기열에 있는 항목을 반환합니다. 삭제하지 않고 대기열 맨 앞으로 이동합니다. Queue 클래스의 인스턴스 두 개를 만듭니다. 하나는 숫자용이고 다른 하나는 문자열용입니다. 이 클래스는 다양한 데이터 유형을 처리할 수 있어 코드를 더욱 유연하고 재사용 가능하게 만듭니다.

으아아아

컴파일되면 다음 JavaScript 코드가 생성됩니다.

으아아아

Output

위 코드는 다음과 같은 출력을 생성합니다. -

으아아아

예 2

이 예에서는 두 개의 일반 유형 속성을 사용하여 또 다른 일반 클래스를 개발합니다. "KeyValuePair" 클래스에는 각각 T 및 U 유형의 "key" 및 "value"라는 두 개의 개인 속성이 있습니다. 이 클래스에는 각각 키 및 값 속성을 반환하는 두 가지 메서드 "getKey" 및 "getValue"도 있습니다.

이 클래스는 숫자, 문자열 또는 객체와 같은 데이터 유형을 사용하여 키와 값을 인스턴스화할 수 있습니다. KeyValuePair 클래스의 인스턴스 두 개를 만듭니다. 하나는 문자열을 키로, 숫자를 값으로 사용하고, 다른 하나는 문자열을 키로, 객체를 값으로 사용합니다. 이 클래스는 다양한 데이터 유형을 키와 값으로 사용할 수 있으므로 코드를 더욱 유연하고 재사용 가능하게 만듭니다.

으아아아

컴파일되면 다음 JavaScript 코드가 생성됩니다.

으아아아

Output

위 코드는 다음과 같은 출력을 생성합니다. -

으아아아

TypeScript에서 일반 클래스를 사용하면 더 유연하고 재사용 가능하며 유지 관리 가능한 코드가 생성됩니다. 또한 TypeScript의 유형 검사 시스템은 일반 클래스에 사용된 유형이 컴파일 타임에 올바르게 사용되도록 보장하여 코드의 전반적인 품질과 안전성을 더욱 향상시킵니다. 제네릭 클래스는 보다 안정적이고 재사용 가능한 코드를 작성하는 데 사용할 수 있는 TypeScript의 강력한 기능입니다.

위 내용은 일반 클래스를 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제