swift学习第十一天:类的定义
2024-08-31 20:41:02
一:
主要内容
- 类的介绍和定义
- 类的属性
- 类的构造函数
一. 类的介绍和定义
- 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 = // override : 重写, 如果写的某一个方法是对父类的方法进行的重写,那么必须在该方法前加上override
override func setValue(_ value: Any?, forUndefinedKey key: String) {
}
} let p = Person()
//p.age = 20 p.setValuesForKeys(["age" : , "name" : "why"])
print(p.age)import UIKit class Person : NSObject {//class:声明类的关键字,声明一个类时,可以继承,也可以不去继承
//定义类的属性:可选类型定义,表示可以为nil也可以不为nil
var name : String?
var age : Int =
var height : Double = 0.0
} let p = Person()//创建对象 // 注意:赋值不是调用set方法,直接拿到属性给属性赋值:继承NSObject也可以利用kvc赋值,若是类属性中找不到对应的key值,会产生崩溃,可以在类中重写setvalueforUnderdefinekey来实现
p.name = "why"
p.age =
p.height = 1.88
最新文章
- 使用PhantomJS实现网页截图服务
- Redis高可用分布式内部交流(九)
- .Net Core Linux centos7行—.net core json 配置文件
- backbone event 事件订阅 和发布 源码小读
- android ListView的怪异现象
- 【BZOJ 2440】[中山市选2011]完全平方数
- Bzoj 4034: [HAOI2015]T2 树链剖分,子树问题,dfs序
- mysql报错";ERROR 1206 (HY000): The total number of locks exceeds the lock table size";的解决方法
- SQL远程备份
- Android_NDK问题:APP_BUILD_SCRIPT points to an unknown file: <;project_path>;/jni/Android.mk
- C C++ 中结构体与类
- oracle job执行失败
- Python全栈开发之路 【第八篇】:面向对象编程设计与开发(2)
- Python中何时使用断言 assert
- vue组件库(四):组件功能模块划分
- HDU1272小希的迷宫–并查集
- ajax和302(转)
- CSS2.0中最常用的18条技巧
- Linux更改主机名
- UVALIve 5987 素数