찾다

 >  Q&A  >  본문

objective-c - 在一个父类中 self 是其子类的对象.


在一个类的父类中什么情况下 self 可以表示为它的子类的对象?self 不应该是在哪个类中表示那个类的对象吗?

黄舟黄舟2758일 전683

모든 응답(2)나는 대답할 것이다

  • 某草草

    某草草2017-05-02 09:20:51

    iOS의 self 키워드에는 많은 의미와 규칙이 있습니다. 이는 주체가 어떤 클래스에서 어떤 클래스를 참조하는지를 의미하지 않습니다! 우선 이 문제를 해결하세요. Self는 현재 클래스의 객체를 나타내며, 질문에 표시된 그림은 현재 객체의 유형을 보여 주며, 이는 현재 클래스와 모든 상위 클래스를 호출하는 것으로 이해될 수 있습니다. 클래스가 이 메서드를 재정의하지 않은 경우 NSObject의 클래스 메서드가 호출됩니다.

    또한 OC의 self 키워드는 범위에 따라 의미와 기능이 다릅니다. 인스턴스 메소드에서 self는 객체의 첫 번째 주소를 나타내고, 클래스 메소드에서는 self가 현재 클래스를 나타냅니다. OC에서는 Class도 객체이므로 self는 다릅니다.

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:20:51

    해당 객체가 실제로 하위 클래스 객체인 경우

    회신하다
    0
  • 취소회신하다