快速了解 ——二
程序员文章站
2022-06-08 13:54:49
...
main
//新建工程命名:zhoukaojineng,创建一个类Person,在类中定义方法eat,实现打印“吃饭”
//创建一个继承自Person的Teacher类,在Teacher类中定义方法teach,实现打印“上课”,调用其父类的eat函数
//创建一个类Student并继承与Person,定义属性name,在Student中监听属性name的setter和getter
//在Student类中重写父类的eat方法,打印“吃了早餐”
//在Student类中定义一个只读属性weight,体重“70kg”
//在Student类中懒加载一个属性age用来年龄“22岁”,为Student类定一个构造函数,在函数内为所有属性赋值
//在Student类中定义一个show方法,用来打印学生信息,函数是公开访问的
//重写Student类的析构函数,在函数内实现所有属性的清空,并打印“调用了析构函数”
import Foundation
let stu = Student()
stu.eat()
stu.show()
print(stu.weight)
print(stu.name)
let per = Person()
per.eat()
let tea = Teacher()
var student:Student? = Student (name: "111", weight: "111")
stu.name = "小昂"
student类
class Student: Person {
//创建一个类Student并继承与Person,定义属性name,在Student中监听属性name的setter和getter
// init(name:String){
// self.name = name
// }
var name:String="小明"{
willSet{
print("Student name newValue:\(newValue)")
}
didSet{
print("Student name oldValue:\(oldValue)")
}
}
//在Student类中重写父类的eat方法,打印“吃了早餐”
override func eat() {
print("吃了早餐")
}
//在Student类中定义一个只读属性weight,体重“70kg”
var weight : String{
get {
return "70kg"
}
}
//在Student类中懒加载一个属性age用来年龄“22岁”,为Student类定一个构造函数,在函数内为所有属性赋值
lazy var age : String = "22岁"
init(name : String, weight : String) {
self.name = "重新赋值后"
}
//在Student类中定义一个show方法,用来打印学生信息,函数是公开访问的
func show() -> Void {
print("重量:\(weight),年龄:\(age)")
}
//重写Student类的析构函数,在函数内实现所有属性的清空,并打印“调用了析构函数”
override init() {
print("调用了析构函数")
}
}
person //新建工程命名:zhoukaojineng,创建一个类Person,在类中定义方法eat,实现打印“吃饭” func eat() -> Void { print("吃饭") } teacher
//创建一个继承自Person的Teacher类,在Teacher类中定义方法teach,实现打印“上课”,调用其父类的eat函数
func teach() -> Void {
print(“上课”)
super .eat()
}
上一篇: swift 字符串部分操作
推荐阅读
-
【短视频系列之二】阿里云高级技术专家带你揭秘短视频解决方案
-
二维数组排序,且上标重新排
-
教你快速了解公共MySQL的数据库服务器层
-
Laravel学习二:执行route:cache时报LogicException
-
使用MySQLMigrationToolkit快速将Oracle数据导入MySQL_MySQL
-
国产PHP开发框架myqee新手快速入门教程_php实例
-
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用,yii2gii_PHP教程
-
yii 整合phpqrcode生成二维码附在线演示地址,yiiphpqrcode
-
Android自定义控件实现通用验证码输入框(二)
-
算法小抄学习笔记 — 8.二叉树的遍历