SWIFT)構造とクラス
***修正を続行
1.構造体
2.クラス多重継承なし
2-1クラスの定義の前にクラスを書き、後ろにクラスの名前を書きます. 類名は大文字のキャメルボックスで記入します.
2%から2%の割合&方法はタイプメソッドと呼ばれますが、前のstatic/classキーワードはタイプメソッドの再定義の性質を変更します.
2-4クラスの使用クラスは構造体とは異なり、可変(var)および不変(let)は可変属性 を使用することができる.ですが、
->var、letキーに関係なく内部可変属性を変更できます タイプのプロパティを使用すると、構造に大きな違いはありません.
2-5級実習最後の
3.構造体とクラスの違い構造体は値タイプ、クラスは参照タイプ である.
4.構造体とクラスの選択と使用
1.構造体
2.クラス
// 클래스 정의
class ClassName {
}
class ClassName {
// 가변 프로퍼티
var mutableProperty: Int = 100
// 불변 프로퍼티
let immutableProperty: Int = 100
// 타입 프로퍼티
static var typeProperty: Int = 100
// 인스턴스 메서드
func instanceMethod() {
print("instance method")
}
}
2~3タイプのメソッドの再定義class ClassName {
// 재정의 불가 타입 메서드 - static
static func typeMethod() {
print("type method - static")
}
// 재정의 가능 타입 메서드 - class
class func classMethod() {
print("type method - class")
}
}
// 인스턴스 생성 - 참조정보 수정 가능
var mutableReference: ClassName = ClassName()
mutableReference.mutableProperty = 200
// 인스턴스 생성 - 참조정보 수정 불가
let immutableReference: ClassName = ClassName()
immutableReference.mutableProperty = 200
mutableReference.immutableProperty = 200
、immutableReference.immutableProperty = 200
はすべてエラーです->var、letキーに関係なく内部可変属性を変更できます
// 타입 프로퍼티 및 메서드
Sample.typeProperty = 300
Sample.typeMethod() // type method
class Student {
// 가변 프로퍼티
var name: String = "unknown"
// 키워드도 `로 묶어주면 이름으로 사용할 수 있습니다
var `class`: String = "Swift"
// 타입 메서드
class func selfIntroduce() {
print("학생타입입니다")
}
// 인스턴스 메서드
// self는 인스턴스 자신을 지칭하며, 몇몇 경우를 제외하고 사용은 선택사항입니다
func selfIntroduce() {
print("저는 \(self.class)반 \(name)입니다")
}
}
// 타입 메서드 사용
Student.selfIntroduce() // 학생타입입니다
// 인스턴스 생성
var yagom: Student = Student()
yagom.name = "yagom"
yagom.class = "스위프트"
yagom.selfIntroduce() // 저는 스위프트반 yagom입니다
// 인스턴스 생성
let jina: Student = Student()
jina.name = "jina"
jina.selfIntroduce() // 저는 Swift반 jina입니다
jina
をlet jina: Student
と宣言するのは可変ですが、jina.name = "jina"
のように値を変更できる様子が見られます4.構造体とクラスの選択と使用
Reference
この問題について(SWIFT)構造とクラス), 我々は、より多くの情報をここで見つけました https://velog.io/@danna-lee/Swift-구조체와-클래스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol