golang은 클래스를 지원하지 않기 때문에 팩토리 클래스가 없습니다. golang에는 명확한 객체 지향 선언문이 없으며 다음과 같은 이유로 객체 지향 언어로 간주할 수 없습니다. 1. golang은 캡슐화만 지원하고 상속 및 다형성을 지원하지 않습니다. 2. golang에는 구조체만 있고 클래스가 없습니다. 물론 구조체는 다른 언어의 클래스와 비교할 수도 있습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
golang은 클래스를 지원하지 않기 때문에 팩토리 클래스가 없습니다.
golang에는 명확한 객체지향문이 없으며, 객체지향언어라고 볼 수도 없습니다. 왜냐하면:
golang은 상속과 다형성이 아닌 캡슐화만 지원합니다.
golang은 구조체만 있고 클래스는 없습니다.
정말로 연결하고 싶다면 구조체를 다른 언어의 클래스와 비교할 수 있습니다.
클래스 선언
type Poem struct { Title string Author string intro string }
공개, 보호 또는 비공개 선언 없이 클래스를 선언합니다.
Golang은 속성 액세스 권한을 구현하기 위해 또 다른 접근 방식을 사용합니다. 속성의 첫 글자가 대문자인 경우 다른 패키지에서 액세스할 수 있고, 그렇지 않으면 이 패키지에서만 액세스할 수 있습니다. 클래스 선언과 메소드도 마찬가지입니다.
클래스 메서드 선언
func (poem *Poem) publish() { fmt.Println("poem publish") }
또는
func (poem Poem) publish() { fmt.Println("poem publish") }
은 다른 언어와 다릅니다. golang 선언 방법은 func 뒤에 poem Poem과 같은 선언이 추가된다는 점을 제외하면 일반적인 방법과 동일합니다. *를 추가하는 것과 추가하지 않는 것의 차이점은 하나는 포인터 객체를 전달하고 다른 하나는 값 객체를 전달한다는 것입니다.
【관련 추천: Go 비디오 튜토리얼, 프로그래밍 교육】
위 내용은 golang에는 팩토리 클래스가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!