ระดับสวิฟท์
ระดับสวิฟท์เป็นรหัสที่ใช้ในการสร้างโครงสร้างทั่วไปและมีความยืดหยุ่น
เราสามารถกำหนดคุณสมบัติ (ค่าคงที่ตัวแปร) และวิธีการในชั้นเรียน
และการเขียนโปรแกรมภาษาอื่น ๆ ที่มีความแตกต่างอย่างรวดเร็วไม่จำเป็นต้องให้คุณสามารถสร้างการเรียนที่กำหนดเองจะแยกอินเตอร์เฟซและการดำเนินงานไฟล์ ที่คุณต้องทำก็คือการกำหนดชั้นเรียนในไฟล์เดียวระบบอัตโนมัติจะสร้างรหัสสำหรับการเชื่อมต่อภายนอกอื่น ๆ
ประเภทของร่างกายและการเปรียบเทียบโครงสร้าง
เรียนอย่างรวดเร็วและ โครงสร้าง มีมากเหมือนกัน ร่วมกันคือ:
- คุณลักษณะที่กำหนดใช้ในการจัดเก็บค่า
- กำหนดวิธีการในการให้การทำงาน
- สคริปต์ที่กำหนดไว้จะใช้ในการเข้าถึงค่าของ บริษัท ย่อย
- กำหนดคอนสตรัคถูกนำมาใช้เพื่อสร้างมูลค่าเริ่มต้น
- โดยการขยายฟังก์ชั่นการใช้งานเพื่อเพิ่มเริ่มต้น
- สอดคล้องกับข้อตกลงที่จะให้การทำงานมาตรฐานบาง
เมื่อเทียบกับโครงสร้างระดับมีคุณสมบัติเพิ่มเติมดังต่อไปนี้:
- มรดกช่วยให้ชั้นเรียนที่สืบทอดจากคุณลักษณะชั้นอื่น
- การแปลงชนิดช่วยให้การตรวจสอบประเภทรันไทม์และการตีความเช่นชั้นเรียน
- โครงสร้างช่วยให้เช่นชั้นที่จะปล่อยทรัพยากรใด ๆ ที่ได้รับการจัดสรร
- นับการอ้างอิงจะช่วยให้การอ้างอิงหลายชั้นเรียน
ไวยากรณ์:
Class classname { Definition 1 Definition 2 …… Definition N }
การกำหนดระดับ
class student{ var studname: String var mark: Int var mark2: Int }
อินสแตนซ์คลาส:
let studrecord = student()
ตัวอย่าง
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成绩为 \(marks.mark)")
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
成绩为 300
ในฐานะที่เป็นประเภทของการอ้างอิงระดับแอตทริบิวต์
คุณสมบัติของชั้นเรียนสามารถเข้าถึงได้ผ่านรูปแบบคือ:instantiate ชื่อคุณสมบัติชื่อชั้น:
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark1 = 300 var mark2 = 400 var mark3 = 900 } let marks = studentMarks() print("Mark1 is \(marks.mark1)") print("Mark2 is \(marks.mark2)") print("Mark3 is \(marks.mark3)")
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
Mark1 is 300 Mark2 is 400 Mark3 is 900
ผู้ประกอบการตัวตน
เพราะการเรียนประเภทอ้างอิงอาจจะมีจำนวนมากของค่าคงที่และตัวแปรในเวลาเดียวกันมีการอ้างอิงถึงเช่นชั้นในพื้นหลัง
เพื่อที่จะมุ่งมั่นว่าทั้งสองคงที่หรือตัวแปรอ้างถึงเช่นชั้นเดียวกัน Swift สร้างสองผู้ประกอบการเหมือนกัน:
ผู้ประกอบการตัวตน | ผู้ประกอบการ nonidentical |
---|---|
ผู้ประกอบการ: === | ผู้ประกอบการ :! == |
หากทั้งสองค่าคงที่หรือตัวแปรอ้างอิงเช่นเดียวกันของผลตอบแทนที่ชั้นจริง | หากทั้งสองคงที่หรือตัวแปรอ้างอิงที่แตกต่างกันเช่นชั้นเรียนผลตอบแทนจริง |
ตัวอย่าง
import Cocoa class SampleClass: Equatable { let myProperty: String init(s: String) { myProperty = s } } func ==(lhs: SampleClass, rhs: SampleClass) -> Bool { return lhs.myProperty == rhs.myProperty } let spClass1 = SampleClass(s: "Hello") let spClass2 = SampleClass(s: "Hello") if spClass1 === spClass2 {// false print("引用相同的类实例 \(spClass1)") } if spClass1 !== spClass2 {// true print("引用不相同的类实例 \(spClass2)") }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
引用不相同的类实例 SampleClass