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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue快速入门

    Vue快速入门迫于无奈还得学下前端的东西,虽然本人学的是后端,但是很早也就听过了Vue很火,所以这里花一天时间学一些基础的Vue知识,至少保证能看懂吧!

    2022年5月4日
    44
  • java最新漏洞_JavaMelody XXE漏洞(CVE-2018-15531)分析

    java最新漏洞_JavaMelody XXE漏洞(CVE-2018-15531)分析0x01背景JavaMelody是一款在生产和QA环境中对JAVA应用以及应用服务器(Tomcat、Jboss、Weblogic)进行监控的工具,可以通过图表给出监控数据,方便研发运维等找出响应瓶颈、优化响应等。近日发布了1.74.0版本,修复了一个XXE漏洞,漏洞编号CVE-2018-15531。攻击者利用漏洞,可以读取JavaMelody服务器上的敏感信息。0x02漏洞分析漏洞修复的com…

    2022年7月7日
    72
  • ansi unicode_ansi unicode utf-8

    ansi unicode_ansi unicode utf-8利用今天一天的时间,研究了一下ANSI编码和Unicode编码的不同,下面把我的研究成果写下来,以备日后参考。       ANSI编码最常见的应用就是在Windows当中的记事本程序中,当新建一个记事本,默认的保存编码格式就是ANSI,ANSI应该算是一种压缩编码了,当遇到标准的ASCII字符时,采用单字节表示,当遇到非标准的ASCII字符(如中文)时,采用双字节表示。

    2025年11月22日
    5
  • 在Java中,关于a=a+b与a+=b的区别「建议收藏」

    在Java中,关于a=a+b与a+=b的区别「建议收藏」在Java中,关于a=a+b与a+=b的区别

    2022年4月23日
    50
  • Access数据库多表联合查询

    Access数据库多表联合查询Access数据库多表联合查询1、Access数据库多表联合查询,每次连接之前须将连接符前面的内容放在括号里面,示例如下:      select表a.字段1,表b.字段1,表c.字段1,表d.字段1from((表ainnerjoin表bon表a.字段=表b.字段)innerjoin表con表c.字段=表a.字段)innerjoin表don表a.

    2022年5月3日
    328

发表回复

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

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