Swift 100일 중 10일

2223 단어
덴마크로 돌아갈 준비를 하는 동안 잠시 휴식을 취했습니다. 그러나 나는 그것에 돌아왔다!

구조체에 대해 배운 후 다음 수업은 수업입니다. 그들은 비슷해 보이며 나는 그들이 행동하는 것을 기대하고 있습니다.

이번 주에 하루에 몇 일을 걸릴 것 같은 느낌이 듭니다. 아마 이번주말쯤.

어쨌든 오늘의 메모는 다음과 같습니다.

10일차



클래스



클래스는 속성 및 메서드를 사용하여 새 형식을 만들 수 있는 구조체와 유사합니다.

클래스의 경우 고유한 초기화 프로그램을 만들어야 합니다.

class className {
    var property: type

    init(parameter: type) {
        self. property = property
    }
}


클래스의 인스턴스는 다음을 통해 빌드할 수 있습니다.

let constantName = className(property: value)


주요 차이점은 다음과 같습니다.
  • 클래스에 합성된 멤버별 이니셜라이저가 제공되지 않음
  • 클래스를 기반으로 클래스를 빌드할 수 있음
  • 구조체의 복사본은 항상 고유하며 클래스는 실제로 동일한 공유 데이터를 가리킵니다.
  • 클래스에는 초기화 해제자가 있으며 클래스의 인스턴스를 파괴합니다.
  • 상수 클래스의 변수 속성은 자유롭게 수정할 수 있습니다. 상수 구조체의 변수 속성은 할 수 없습니다.

  • 상속



    기존 클래스를 기반으로 하는 클래스 원래 클래스의 모든 속성을 상속하고 자신의 속성을 맨 위에 추가할 수 있습니다.

    하위 클래스에서 super.init()를 호출해야 합니다.

    재정의 메서드



    클래스 내부의 메서드는 다음을 사용하여 덮어쓸 수 있습니다.

    override func functionName() ...
    


    이를 통해 우리가 달성하려는 것을 부분적으로 수행하는 기능을 수정할 수 있습니다.

    클래스를 사용하거나 덮어쓰지 못하도록 차단하려면 final class 구문을 사용하여 클래스를 작성하십시오. 수정해서는 안 되는 중요한 클래스에 사용합니다.

    좋은 웹페이지 즐겨찾기