《从零开始学Swift》学习笔记(Day 25)——类和结构体定义



原创文章,欢迎转载。转载请注明:关东升的博客

Swift中的类和结构体定义的语法是非常相似的。类使用class关键词定义类,使用struct关键词定义结构体,它们的语法格式如下:

class 类名 {

    定义类的成员

}

struct 结构体名 {

    定义结构体的成员

}

从语法格式上看,Swift中的类和结构体的定义更类似于Java语法,不需要像C++和Objective-C那样把接口部分和实现部分放到不同的文件中。

下面来看一个示例:

class Employee {             //定义的类

    var no: Int = 0           

    var name: String = ""     

    var job: String?          

    var salary: Double = 0        

    var dept: Department?         

}

struct Department {          //定义的结构体

    var no: Int = 0           

    var name: String = ""     

}

里面定义了一些属性。

Employee和Department是有关联关系的。

下列语句实例化:

let emp = Employee()

var dept = Department()

Employee()和Department()是调用它们的构造函数实现实例化。 

注意:类声明为let常量还是var变量呢?从编程过程讲类一般声明为let常量,由于类是引用数据类型,声明为let常量只是说明不能修改引用,但是引用指向的对象可以被修改。

欢迎关注关东升新浪微博@tony_关东升。
    关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
 ​
更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php

 

时间: 2024-11-07 16:16:46

《从零开始学Swift》学习笔记(Day 25)——类和结构体定义的相关文章

《从零开始学Swift》学习笔记(Day 30)——选择类还是结构体呢?

原创文章,欢迎转载.转载请注明:关东升的博客   类和结构体非常相似,很多情况下没有区别.如果你是设计人员在进行系统设计时候,是将某种类型设计成为类还是结构体?  类和结构体异同: 类和结构体都有如下功能: 定义存储属性 定义方法 定义下标 定义构造函数 定义扩展 实现协议  只有类才有的功能: 能够继承另外一个类 能够核对运行期对象的类型 析构对象释放资源 引用计数允许一个实例有多个引用  选择的原则: 结构体是值类型,每一个实例没有独一无二的标识,下面两个数组实例本质上没有区别,他们可以互相

《从零开始学Swift》学习笔记(Day 49)——扩展声明

原创文章,欢迎转载.转载请注明:关东升的博客   声明扩展的语法格式如下: extension 类型名 {        //添加新功能 } 声明扩展的关键字是extension,"类型名"是Swift中已有的类型,包括类.结构体和枚举,但是我们仍然可以扩展整型.浮点型.布尔型.字符串等基本数据类型,这是因为这些类型本质上也是结构体类型.打开Int的定义如下: struct Int : SignedInteger { init() init(_ value: Int) static f

《从零开始学Swift》学习笔记(Day 29)——访问级别

原创文章,欢迎转载.转载请注明:关东升的博客   访问级别: Swift提供了3种不同访问级别,对应的访问修饰符为:public.internal和private.这些访问修饰符可以修饰类.结构体.枚举等面向对象的类型,还可以修饰变量.常量.下标.元组.函数.属性等内容. public.可以访问自己模块中的任何public实体.如果使用import语句引入其他模块,我们可以访问其他模块中的public实体. internal.只能访问自己模块的任何internal实体,不能访问其他模块中的int

《从零开始学Swift》学习笔记(Day 56)—— Swift编码规范之命名规范

原创文章,欢迎转载.转载请注明:关东升的博客   程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量,原则是:变量名=类型前缀+描述,如bFoo表示布尔类型变量,pFoo表示指针类型变量.匈牙利命名还是有一定争议的,在Swift编码规范中几本不采用匈牙利命名. 驼峰命名(Camel-Case),又称骆驼命名法,是指混合使用大小写字母来名字.驼峰命名又分为:小驼峰法和大驼峰法. 小驼峰法是第一个单

《从零开始学Swift》Swift 2.0学习笔记(Day 38)——构造函数与存储属性初始化

原创文章,欢迎转载.转载请注明:关东升的博客   构造函数的主要作用是初始化实例,其中包括:初始化存储属性和其它的初始化.在Rectangle类或结构体中,如果在构造函数中初始化存储属性width和height后,那么在定义他们时就不需要初始化了. Rectangle类代码如下: class Rectangle { var width: Double var height: Double init() { width = 0.0 height = 0.0 } } 如果存储属性在构造函数中没有初始

《从零开始学Swift》学习笔记(Day 33)——属性观察者

原创文章,欢迎转载.转载请注明:关东升的博客   为了监听属性的变化,Swift提供了属性观察者.属性观察者能够监听存储属性的变化,即便变化前后的值相同,它们也能监听到. 属性观察者主要有以下两个: willSet:观察者在修改之前调用. didSet:观察者在修改之后立刻调用. 属性观察者的语法格式如下: 面向对象类型 类型名 { ... var 存储属性: 属性数据类型 = 初始化值 { willSet(新值) { //定义willSet观察者."新值"是传递给willSet观察者

关东升的《从零开始学Swift》即将出版

大家好:   苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版<从零开始学Swift><从零开始学Swift>将在<Swift开发指南>第1版的基础上添加Swift2.0的内容,同时摒弃第1版的一些不合理的内容,使得本书更加适合Swift开发者.我将连续发一些<从零开始学Swift>的学习笔记,有兴趣者,可以看一下. 书中源代码下载地址:http://51work6.com/swiftbook1.ph

关东升的《从零开始学Swift》3月9日已经上架

    大家一直期盼的<从零开始学Swift>于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发.全书共分5 部分,包括Swift语法篇.Cocoa Touch框架编程篇.混合编程篇.进阶篇和项目实战篇,囊括了开发工具介绍.语言基础知识,直至应用在App Store上线的所有内容.此外,本书前20 章专门配有同步练习,以帮助读者掌握所学知识.本书更加适合Swift开发者.大家可以看一下.http:/

Swift学习笔记(一)搭配环境以及代码运行成功

原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹果以后大力推广的语言哦!   2.Swift给你带来什么机会? 当初你觉得objc太难,学ios学到一半放弃拉,或者进入it行业大家都搞android,你也搞android去了.现在你终于有机会和搞ios的站在一个语言的起跑线上,兄弟!swift传说很容易学哦,搞android的你想不想增加一下本领