zoukankan      html  css  js  c++  java
  • swift学习第十一天:类的定义

    一:

    主要内容

    • 类的介绍和定义
    • 类的属性
    • 类的构造函数

    一. 类的介绍和定义

    • Swift也是一门面向对象开发的语言
    • 面向对象的基础是类,类产生了对象
    • 在Swift中如何定义类呢?
      • class是Swift中的关键字,用于定义类
    class 类名 : SuperClass {
        // 定义属性和方法
    }
    
    • 注意:
      • 定义的类,可以没有父类.那么该类是rootClass
      • 通常情况下,定义类时.继承自NSObject(非OC的NSObject)
      • import UIKit
        
        /*
         1.类的定义
         2.创建类对应的对象
         3.给类的属性赋值
            1> 直接赋值
            2> 通过KVC赋值
         4.可以重写setValue(value: AnyObject?, forUndefinedKey key:,那么字典中没有的字段可以在类中没有对应的属性
         5.override : 重写, 如果写的某一个方法是对父类的方法进行的重写,那么必须在该方法前加上override
         */
        
        
        class Person : NSObject {
            var age : Int = 0
            
            // override : 重写, 如果写的某一个方法是对父类的方法进行的重写,那么必须在该方法前加上override
            override func setValue(_ value: Any?, forUndefinedKey key: String) {
            }
        }
        
        
        let p = Person()
        //p.age = 20
        
        p.setValuesForKeys(["age" : 18, "name" : "why"])
        print(p.age)
      • import UIKit
        
        class Person : NSObject {//class:声明类的关键字,声明一个类时,可以继承,也可以不去继承
            //定义类的属性:可选类型定义,表示可以为nil也可以不为nil
            var name : String?
            var age : Int = 0
            var height : Double = 0.0
        }
        
        let p = Person()//创建对象
        
        // 注意:赋值不是调用set方法,直接拿到属性给属性赋值:继承NSObject也可以利用kvc赋值,若是类属性中找不到对应的key值,会产生崩溃,可以在类中重写setvalueforUnderdefinekey来实现
        p.name = "why"
        p.age = 18
        p.height = 1.88


  • 相关阅读:
    HTML元素事件说明
    JQuery基本方法介绍和使用
    Eclipse设置注释模板
    AJAX回调(调用后台方法返回数据)
    Hibernate常用增删改查方法
    C memset
    PAT-Top1002. Business (35)
    PAT-Top1001. Battle Over Cities
    聂老师的考验(反向bfs)
    CSUST选拔赛题解
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5885085.html
Copyright © 2011-2022 走看看