Obj-C에서 인스턴스 메소드와 클래스 메소드의 차이점은 무엇입니까?
習慣沉默
習慣沉默 2017-05-02 09:20:30
0
3
789

인스턴스 메소드, 즉 객체를 인스턴스화하여 호출해야 하는 메소드입니다.
클래스 메서드는 클래스에서 직접 호출하는 메서드입니다.

언제 클래스 메소드를 사용해야 하는지, 언제 인스턴스 메소드를 사용해야 하는지 잘 모르겠습니다. 둘의 실제 장점과 단점은 무엇입니까?

習慣沉默
習慣沉默

모든 응답(3)
迷茫

클래스 메서드는 일반적으로 표준화된 처리를 제공하는 데 사용되며, 인스턴스 메서드는 일반적으로 개인화된 처리(특정 인스턴스에 바인딩)를 제공하는 데 사용됩니다.

曾经蜡笔没有小新

장점, 단점이 있어서는 안 됩니다.

  • 메소드에 동일한 입력 매개변수가 있는 경우 출력은 서로 다른 객체 인스턴스의 인스턴스 변수에 영향을 받습니다. 일반적으로 인스턴스 메소드로 작성해야 합니다.

  • 입력 매개변수가 동일하지만 인스턴스 변수의 영향을 받지 않는 경우(정적은 인스턴스 변수가 아님) 클래스 메서드를 작성하여 호출할 클래스에 제공할 수 있습니다. 예를 들어

으아아아

이런 종류의 고스트를 인스턴스 메소드로 작성할 수 있지만 호출될 때마다 인스턴스화/해제될 뿐만 아니라 코드 읽기에도 영향을 미칩니다.

  • 클래스 메서드는 싱글톤 모드와 팩토리 모드에서 더 일반적입니다. 싱글톤 모드 프로그램의 이 클래스에는 인스턴스가 하나만 있습니다. 팩토리 모드는 다양한 인스턴스를 생성하고 매개변수를 기반으로 이를 반환합니다.

阿神

방법에 따른 구분은 없으며, 단지 사용상의 편의를 위한 것일 뿐입니다. 구분해야 할 경우에는 다음 사항을 고려하시기 바랍니다

클래스 메소드의 단점: 클래스 메소드에서 self는 클래스 객체가 아닌 클래스를 나타내므로 클래스 메소드에서는 self를 사용하여 속성을 호출할 수 없으며 이 클래스의 인스턴스 메소드를 호출할 수도 없습니다.
클래스 이 방법의 장점: 호출이 쉽고, 객체를 생성할 필요가 없습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿