[Swift]类(Class)——属性

本文介绍了Swift中类的属性,包括存储属性、计算属性、属性观察者和类型属性。详细阐述了它们的工作原理、用法以及注意事项,帮助读者理解和掌握Swift面向对象编程中的关键概念。
摘要由CSDN通过智能技术生成

在Swift语言中,提供了全面的面向对象的支持。首先支持类定义,类中可以定义各种类型的方法和属性,可以通过设置访问修饰符来控制哪些成员和方法是对外界可见的,哪些是不可见的,实现对类的封装。

同时也可以继承一个类或者多个类,实现类的继承性。还有一个叫协议的概念,等同于别的编程语言中的接口。协议与类有相同也有不同。

  • 相同之处:都是可以继承扩展的,协议本身也可以继承别的协议。
  • 不同之处:协议不支持属性,方法也只能声明,不实现。协议独立来看,也不能实例化成某个对象。也就是说,协议需要某个具体的类去继承,这叫实现协议。实现协议之后,就叫某个类遵守或者符合某个协议。

一、编写第一个类

类是某一类事物的抽象,通过抽象定义了一件事物的特点,通常来说,类定义了事物的属性和行为。从程序上讲,类时生成将来所要用的具体对象的代码模板。

class Person {
   
    //类型属性、方法
}
/*在Swift语言中,Person类的声明和其他语言一样,以关键字class声明,类的名称首字母一般建议大写,它可以是任意数字、字母、下划线组合,不过不能以数字开头。*/

尽管其主体是空的,没有任何实际的用处,我们已经完成了类的最简单的定义,定义一个类,定义了一种新的数据类型,这种类我们叫做空类,空类也是可以被调用的。

var p = Person()
println(p)

上面代码中,P就是对象,是Person类的具体化,类是对象的模板,定义一个类,可以生成无数个对象。生成对象的过程叫类的实例化

1、属性

属性就是类所表示的现实对象的特性在代码中的反映,比如现实中有学生这个身份类别,学长的属性有姓名、班级、籍贯,把相应的内容对应到类代码即可:

class Student{
    var name:String = ""       
    var classno:Int = 0
    var from:String = ""
}
class Student{
    var name:String = ""        //变量属性
    var classno:Int = 0
    var from:String = ""
    let country:String = "中国" //常量属性
}

var student = Student()

student.name = "HTX"
student.classno = 1
student.from = "NanTong"

println("\(student.name) \(student.classno) \(student.from)")

//输出:HTX 1 NanTong

在Swift语言中,属性的类型可以分为两种:存储属性和计算属性

存储属性就是用来表示类的一个特性。计算数学本身并不直接存储特性,提供的是一个计算后的结果。

1.1、存储属性

正如变量一样,属性也分为变量属性和常量属性,都叫存储属性,并且也分别用关键字var 和关键字let

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值