swift的类与对象讲解
来源:互联网 发布:莆田系 知乎 编辑:程序博客网 时间:2024/06/14 04:32
- 最简答的类和对象
import UIKit
class Shape{
var numberOfSides=0;
func ReturnDescription() ->String{
return"it has \(numberOfSides) sides";
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var MyShape=Shape();
MyShape.numberOfSides=3;
var StringFromClass=MyShape.ReturnDescription();
println("\(StringFromClass)");
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
但是一般都需要有构造器,需要加init方法
import UIKit
class ShapeWithInit{
var numberOfSide:Int;//类的属性
init(numberOfSideGet:Int){//必须得与上面的变量名字不同
numberOfSide=numberOfSideGet;
}
func GetSimpleDesciption(name:String)->String{
return"hello,\(name),it has\(numberOfSide) sides"
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var myShape=ShapeWithInit(numberOfSideGet:3);//必须的加参数,而且前面必须加构造函数的参数名称,不是属性的名称
var stringGet=myShape.GetSimpleDesciption("wtt");
println(stringGet);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
下面在讲下类的继承。下面的代码包括的方法的重写,每一步都有特定的意义在,需要仔细看。
import UIKit
class ShapeWithInit{
var numberOfSide:Int;//类的属性
var shapeAdditional:String;//类的属性
init(numberOfSideFromObject:Int){//必须得与上面的变量名字不同,构造对象的时候需要传参进来。但是不一定所有的属性都需要传进来。
numberOfSide=22;//所有的属性必须在这里被初始化,但是不一定用传进来的参数。额,当然不建议这样做
shapeAdditional="this is class ShapeWhithInit";
}
func GetSimpleDesciption(name:String)->String{
return"hello,\(name),\(shapeAdditional),it has\(numberOfSide) sides"
}
}
class Squre:ShapeWithInit{
var lengthOfClass:Double;
init(lengthFromSqureObject:Double,number:Int){//子类的构造方法中,参数多了长度
self.lengthOfClass=lengthFromSqureObject;
super.init(numberOfSideFromObject: number);//父类的构造方法
numberOfSide=4;
}
override func GetSimpleDesciption(name: String) ->String {//如果需要重写父l类的方法需要在前面加上override关键字
return"hello,it is from fulei,additional,\(shapeAdditional).it is from zilei ,lengthofclass,\(lengthOfClass),numberofside,\(numberOfSide)";
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var mySqure=Squre(lengthFromSqureObject:12.5,number:4);
var stringGet=mySqure.GetSimpleDesciption("wtt");
println(stringGet);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
- swift的类与对象讲解
- Swift语法基础:4 - Swift的类与对象
- C++中类与对象的讲解(通俗易懂)
- C++中类与对象的讲解(通俗易懂)
- C++中类与对象的讲解(通俗易懂)
- swift的类和对象
- Swift中可选变量?与!讲解
- 面向对象的抽象类讲解2
- 面向对象的抽象类讲解1
- 类图和对象图的讲解
- swift元组的理解和讲解
- 纯代码讲解swift的指针
- Swift --- 面向对象中类和对象的属性
- Swift简明教程(四)类与对象
- swift 对象和类
- JavaScript的对象的讲解
- iOS经典讲解之Swift分支结构与循环详解
- 学校学习ios教程笔记,第七节swift中的类与对象的属性和懒加载
- PAT1008 数组元素循环右移问题
- iOS 多线程实例(自定义NSOperation并传值(block,notification))
- 使用GPU在caffe上进行CNN训练
- Product of Array Except Self
- JavaScript权威指南学习之第5章 语句
- swift的类与对象讲解
- DM6437平台开发-----程序烧写2
- hdu 5428
- RGB颜色与灰度等变换关系
- JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)
- linux(ubuntu)中一些特殊符号
- Trapping Rain Water
- 关于EMGU CV的那些事——3.不同角点检测算法比较
- volatile特性和内存语义