Swift Basic-클래스 정의

3504 단어
하나.클래스 소개 및 정의
  • Swift도 대상에게 일방적으로 개발된 언어
  • 대상을 대상으로 하는 기초는 클래스이고 클래스가 대상을 만들었다
  • Swift에서 클래스는 어떻게 정의합니까?
  • class는 Swift의 키워드로 클래스를 정의하는 데 사용됩니다
    class    : SuperClass {
        //        
    }
    
  • 주의: 1.정의된 클래스는 부류가 없을 수 있습니다.그러면 이 클래스는 루트클래스 2.일반적인 상황에서 클래스를 정의할 때NSObject(OC 이외의 NSObject)
  • 에서 상속
    둘.클래스의 속성을 정의하는 방법
    클래스 속성 소개
  • Swift에서 클래스의 속성은 여러 가지가 있습니다.저장 속성: 실례의 상수와 변수를 저장합니다. 2.계산 속성: 어떤 방식으로 계산된 속성 3.클래스 속성: 전체 클래스 자체와 관련된 속성
  • 스토리지 속성
    1.            ,          ,         
    2.               ,                 
    3.           
        1. age name      ,             
        2. chineseScore      ,                 
    
    class Student : NSObject {
        //     
        //     
        var age : Int = 0
        var name : String?
    
        var chineseScore : Double = 0.0
    }
    
    //       
    let stu = Student()
    
    //        
    stu.age = 10
    stu.name = "why"
    
    stu.chineseScore = 89.0
    

    계산 속성
    1.             ,      getter      setter            
    2.          getter  
    3.      getter,    setter,           ,      get{}
    4.           
            1. averageScore     ,  chineseScore mathScore       
            2.  setter      newValue  ,        
    
    class Student : NSObject {
        //     
        //     
        var age : Int = 0
        var name : String?
    
        var chineseScore : Double = 0.0
        var mathScore : Double = 0.0
    
        //     
        var averageScore : Double {
            get {
                return (chineseScore + mathScore) / 2
            }
    
            //     ,                
            // newValue         ,       
            set {
                self.averageScore = newValue
            }
        }
    }
    
    //         
    print(stu.averageScore)
    

    클래스 속성
    1.           ,           
    2.                .          ,         
    3.          ,        
    4.          
        1.      static   
        2. courseCount    ,            
    
    class Student : NSObject {
        //     
        //     
        var age : Int = 0
        var name : String?
    
        var chineseScore : Double = 0.0
        var mathScore : Double = 0.0
    
        //     
        var averageScore : Double {
            get {
                return (chineseScore + mathScore) / 2
            }
    
            //     .newValue         ,       
            set {
                self.averageScore = newValue
            }
        }
    
        //    
        static var corseCount : Int = 0
    }
    
    //        
    Student.corseCount = 3
    //        
    print(Student.corseCount)
    

    속성 변경 내용 수신(속성 관찰기)
    1.  OC       set          
    2. Swift                      
    3.                 .(      ,            ,            setter              )
    4.                   
        1. willSet:           。                 。       newValue,            
        2. didSet:             。 willSet  ,           ,      oldValue
        3. willSet didSet                ,     ,           
    5.        :
        1.   age name   
    
    class Person : NSObject {
        var name : String? {
            //    newValue     
            willSet (new){ //       ,           
                //                newValue,      
                print(name)
                print(new)
            }
            //    oldValue     
            didSet (old) { //         ,      
                //                oldValue,      
                print(name)
                print(old)
            }
        }
        var age : Int = 0
        var height : Double = 0.0
    }
    
    let p : Person = Person()
    
    //     ,        
    //  OC      set  
    //  swift ,          
    p.name = "why"
    

    좋은 웹페이지 즐겨찾기