1、什么是对象#
对象就是将一组数据与这组数据有关操作组装在一起,形成一个实体,这个实体就是对象。
2、类的模型
/**
类的模型
class className {
var variable1 :variableType ?
var variable2 = Any
func funcName(parameter:parameterType,...)->returnType{
}
func funcName1(){
}
}
*/
3、一个简单的类
/* 创建一个类 */
class NetWork {
/**
变量
*/
var address:String?
var age = 18
var name:String?
/**
方法
*/
/* 获取地址*/
func getAddress() -> String {
return self.name! + self.address!
}
/* 输出信息*/
func logUserInfo(){
print(self.name! + String(self.age))
}
}
/**
注释:类中包含属性也包含方法。属性和方法都是类的组成部分,属性是变量,方法势函数。
*/
4、创建对象,并对对象操作
/**
我们创建一个NetWork类的对象
*/
let classObject = NetWork()
/**
给其对象属性赋值
*/
classObject.address = "beijing chao yang"
classObject.age = 26
classObject.name = "NetWork小贱"
/**
调用其方法
*/
let addressString = classObject.getAddress()
print(addressString)
/* 输出类的信息*/
classObject.logUserInfo()
/**
输出:
NetWork小贱beijing chao yang
NetWork小贱26
*/
5、继承
继承是指一个对象直接使用另一对象的属性和方法。
1、创建一个要继承的父类
class School {
var schoolName:String?
var schoolAddress:String?
var schoolAge:Int = 0
var schoolSubjects:Array<Any>?
/* 获取学校的科目*/
func getSubjects() -> Array<Any> {
return self.schoolSubjects!
}
/* 获取学校的信息*/
func getSchoolInfo() -> (name:String,age:Int,address:String) {
return (self.schoolName!,self.schoolAge,self.schoolAddress!)
}
}
2、继承后的子类
class XiWangSchool:School {
var persons = 0
var classString:String?
func getPersonCount() -> Int {
return self.persons
}
/**
从写父类的方法
*/
override func getSchoolInfo() -> (name: String, age: Int, address: String) {
var tuples = super.getSchoolInfo()
tuples.age += 10
return tuples
}
/**
注释:从其他类继承而来的类可以重写父类中的函数。这些子类继承了父类的大部分功能,但也可以有自己的功能。
*/
}
/**
注释:要重写一个函数,要在子类中重新声明它,并添加 override 关键字。
*/
3、继承后子类的使用
/**
创建一个学校的对象
*/
let NetWorkSchool = XiWangSchool()
NetWorkSchool.schoolName = "成功QQ吧"
NetWorkSchool.schoolAddress = " 北京 朝阳"
NetWorkSchool.schoolAge = 90
let tupless = NetWorkSchool.getSchoolInfo()
print(tupless)
/**
输出:
(name: "成功QQ吧", age: 100, address: " 北京 朝阳")
*/