Swift - 42 - 类的基本使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import Foundation
 
/*
1.class表示类的关键字
2.class后面表示类名
3.类名后面的大括号内表示类的内部
*/
 
/*
1.属性封装了set和get方法
2.方法里面封装了具体的代码块
3.类封装了属性和方法
4.一个项目封装了多个类
*/
class Person
{
    /* 属性: Swift中有三种属性:1.存储属性 2.计算属性 3.类属性 */
     
    // 储存属性: 主要用于存储一个对象中的变量或者常量(和OC实例变量很像)
    // 注意存储属性必须要赋初始值
    var name: String = ""
    var age: Int     = 20
    var english      = 0
    var mach         = 0
    var chinese      = 0
     
    // 延迟储存属性:让某些资源在用到的时候再去加载, 也就是OC中的懒加载
    // 避免了一些资源的浪费
    lazy var dog = Dog()
     
    // 计算属性: 不是用来储存属性的值, 主要为我们提供个属性的get和set方法,
    // 我们可以通过重写get和set方法, 对属性值做一些简单的运算
    // 注意1: 计算属性不能赋初始值
    // 注意2: 提供get和set方法
    var sum: Int {<br>        // 如果只是只读属性, 则只有get方法, get关键字和大括号都可以省略
        return english + mach + chinese
    }
     
    // 类属性: 用class修饰, 只能是计算属性, 不能使用储存属性
    // 使用类名调用类属性
    class var des: String {
        get {
            return "这是一个人"
        }
    }
     
    /*- 方法 -*/
    func sleep()
    {
        print("我在睡觉ingzzzzZZ...")
    }
}
 
class Dog {
    init()
    {
        print("这是一只狗")
    }
}
 
// p就是Person类的一个对象
// Person()是一个默认的构造方法
var p = Person()
p.name = "张三"
//print(p.name)
//print(p.dog)
p.english = 82
p.mach = 100
p.chinese = 90
//print(p.sum)
print(Person.des)
 
// 方法的调用, 也是使用点语法
//p.sleep()

  

posted @   Rinpe  阅读(155)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
阅读排行:
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 本地部署 DeepSeek:小白也能轻松搞定!
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)
点击右上角即可分享
微信分享提示