Swift — 面向对象中类和对象的属性

Swift — 面向对象中类和对象的属性

大家好,又见面了,我是全栈君。

Swift中类和对象的属性分为三种:储存属性,计算属性和类属性。

import Foundation

class Person {
  // 储存属性必须赋初值
  var score1: Int = 20
  var score2: Int = 50

  // 延迟储存属性,须要时再去分配
  lazy var dog: Dog = Dog()

  // 计算属性,不能赋初值,提供get和set方法,
  var sum: Int {
    get {
      return score1 + score2
    }
  }

  // 类属性,仅仅能是计算属性,使用类而非对象去调用
  // 如 Person.desc
  class var desc: String {
    get {
      return "This is one person."
    }
  }

  // 构造方法
  init() {
    println("This is one person.")
  }
}

class Dog {
  init() {
    println("This is one dog.")
  }
}

var p = Person()
println(Person.desc)
println(p.score1)
println(p.score2)
println(p.sum)
println(p.dog)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115585.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows如何彻底卸载JDK

    Windows如何彻底卸载JDK很简单不需要动什么注册表打开windows找到控制面板–点击卸载程序简单粗暴,亲测有效!

    2022年6月25日
    30
  • 电机的力矩计算

    电机的力矩计算1.转动惯量的公式1.1转矩如何计算转矩等于转动惯量乘以角加速度,然后我们要注意一下单位,转矩的单位是NM,转动惯量的单位是kg*m2,角加速度单位是rad/s2。M=I*BM是转矩,I是转动惯量,B是角加速度。1.2关于单位转矩=转动惯量*角加速度,转矩单位是N.m,转动惯量单位是Kg.m^2,那么角加速度单位是什么,如果是rad/s^2,怎么推算的?rad不是物理量单位,是角度单位,以rad做角度单位时,rad无需写明,除非强调时。即角速度单位就是s^-1,角加速度单

    2022年5月14日
    69
  • mysql 基础

    mysql 基础

    2021年8月18日
    67
  • 数据挖掘/机器学习/算法岗2017校招面试总结「建议收藏」

    数据挖掘/机器学习/算法岗2017校招面试总结「建议收藏」目前就职于腾讯,想内推朋友可以发我简历(校招/社招都要),邮箱384375530@qq.com,注明岗位和工作城市。这个岗位叫法很多,算法岗,数据挖掘岗,机器学习岗,基础研究等等,总结一下从16年9月校招的面试情况。百度:师姐给我内推的,一面聊了2个半小时,基本在写代码。用MapReduce写好友推荐,在一堆单词里面找出现次数最多的k个;设计一个栈,O(1)时间返回最值;求多叉树深…

    2022年6月12日
    32
  • jenkins+maven+svn自动部署和发布(超详细,图文并茂)

    jenkins+maven+svn自动部署和发布(超详细,图文并茂)

    2021年8月4日
    61
  • T-SQL聚合函数

    T-SQL聚合函数SQLServer2008联机丛书(2009年1月)聚合函数(Transact-SQL)聚合函数对一组值执行计算,并返回单个值。除了COUNT以外,聚合函数都会忽略空值。聚合函数经常与SELECT语句的GROUPBY子句一起使用。所有聚合函数均为确定性函数。这表示任何时候使用一组特定的输入值调用聚合函数,所返回的值都是相同的。有关函数确定性的

    2022年6月21日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号