类和结构体一

来源:互联网 发布:数据仓库软件有哪些 编辑:程序博客网 时间:2024/06/08 20:08
////  main.swift//  类和结构体一////  Created by Goddog on 15/5/31.//  Copyright (c) 2015年 Goddog. All rights reserved.///**1.类和结构体高度相似,区别:结构体不支持继承,结构体不支持定义析构器,结构体是值类型,而类是引用类型。2.只有类的实例才能称为对象,枚举、结构体的实例只能被称为实例。*/import Foundation/**定义类1.[修饰符] class 类名{构造器  属性   方法   下标}  修饰符可以是:private|internal|public、final2.Swift的类中系统会提供一个默认、无参数的构造器3.Swift的结构体中系统会提供一个默认、无参数的构造器和一个初始化所有存储属性的构造器*///定义一个类class Person{    //定义两个存储属性       /**    1.定义存储属性的格式:  [修饰符] var|let存储属性名:类型名字 [=初始值]    2.修饰符:private|internal|public、static|class、final,类属性可以用class修饰,结构体、枚举属性用static修饰,只有类可以用final修饰    3.有class、static修饰的成员属于类型的本身,没有class、static修饰的成员属于该类型的实例。    4.Swift的方法定义和函数定义的语法格式几乎相同,[修饰符] func 方法名[形参列表] [->返回值类型]{}    5.构造器定义的方法:[修饰符] init(形参列表){}    */    var name:String = ""    var age:Int = 0    //定义一个方法    func say(content:String)    {        println(content)    }}//定义一个结构体struct Dog{    //定义两个存储属性    var name:String    var age:Int    //定义一个方法    func run()    {        println("\(name)迅速的奔跑~")    }}//创建实例,创建实例的根本途径是构造器var p = Person()//so easy,  OC版:Person *p = [[Person alloc]init] ,JAVA版:Person p = new Person()//class或static修饰的方法和属性,属于类型本身,必须通过类型来调用;反之属于该类型的实例,必须通过实例来调用。p.name = "小虎"p.say("努力学习swift")println(p.name)//结构体提供的一个默认的初始化所有存储属性的构造器var dog = Dog(name: "小旺", age: 1)//直接输出dog的name属性println(dog.name)dog.run()//结构体还提供一个无参数的构造器//var dgs  = Dog()//println(dgs.age)struct  Student {        var  age = 0 //直接定义一个字段名称,并且赋初始值        var  name:String // 直接定义一个字符串变量。        //定义 无参数构造函数    init() {        name = ""        age = 0    }    //定义 有参数构造函数    init(Name:String,Age:Int) {        self.name = Name //self 指的是当前结构体变量    self.name 当前结构体的变量的字段        self.age = Age    }        }var stu = Student ()var stu1 = Student(Name: "小米", Age: 10)class ShoppingListItem {    var name: String?    var quantity = 1    var purchased = false}var item = ShoppingListItem()var item1 = ShoppingListItem()struct Size {    var width = 0.0    var height = 0.0}let twoByTwo = Size(width: 2.0, height: 2.0)var w = Size()println(w)println("Hello, World!")

0 0
原创粉丝点击