Swift - 类初始化和反初始化方法_swift 自定义类成员变量初始化-程序员宅基地

技术标签: Swift  class  swift  

//: Playground - noun: a place where people can play

import UIKit


//init():类的初始化方法(构造方法)


//使用默认构造函数
class Student {
    
    //类属性
    var name: String = "" ;
    var number: Int = 0 ;
    
}

var student = Student() ;



//自定义构造函数
class Person {
    
    //类属性
    var name: String ;
    var age: Int ;
    
    //类构造函数
    init(newName: String, newAge: Int){
        
        self.name = newName ;
        self.age = newAge ;
    }
    
    
    //类方法
    func say() -> String {
        
        return "我叫\(name)" ;
    }
    
}

var p = Person(newName: "Swift", newAge: 32) ;
print(p.say());



//deinit():类反初始化方法(析构方法)
class DBClass {
    
    var conn: Student? = Student() ;
    
    deinit {
        //可以做一些清理工作
        self.conn!.number ;
        self.conn!.name ;
    }
    
}

//设置nil后即可执行deinit()方法
var db: DBClass? = DBClass() ;
db = nil ;


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/y_csdnblog_xx/article/details/51516812

智能推荐

阿里云FaaS舜天平台:执FPGA异构计算之牛耳 -程序员宅基地

文章浏览阅读442次。一、异构计算ABC 简单的介绍几个概念,同道中人可以忽略这一段。云计算取代传统IT基础设施已经基本成为业界共识和不可阻挡的趋势。云计算离不开数据中心,数据中心离不开服务器,而服务器则离不开CPU。当然,世事无绝对,上述三个“离不开”自然是针对当下以及并不久远的未来而言。而异构计算的“异构”指的是“不同于”CPU的指令集。 异构..._fpga as a service 白皮书

【雕爷学编程】Arduino智能家居之使用PIR传感器和蜂鸣器的报警系统_arduino蜂鸣报警器-程序员宅基地

文章浏览阅读128次。Arduino智能家居使用PIR传感器和蜂鸣器的报警系统是一种基于Arduino开发板的智能安防系统,通过PIR传感器检测到的人体红外信号,触发蜂鸣器报警,以实现对室内异常情况的监测和提醒。1、温度和湿度控制:通过连接温度传感器和湿度传感器,Arduino可以实时监测室内环境的温度和湿度,并通过控制空调、加热器或加湿器等执行器,实现室内温湿度的自动调节。设计用户友好的界面和操作方式,提供简单直观的控制和反馈机制,以及考虑用户习惯和需求,能够提升系统的整体用户体验。_arduino蜂鸣报警器

88 Elasticsearch 自动补全-程序员宅基地

文章浏览阅读17次。elasticsearch中分词器(analyzer)的组成包含三部分:character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smarttokenizer filter:将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等PUT /test"analyzer": { // 自定义分词器。

Leetcode 255: 验证前序遍历序列二叉搜索树 Verify Preorder Sequence in Binary Search Tree-程序员宅基地

文章浏览阅读266次。题目描述:Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary search tree.You may assume each number in the sequence is unique.Consider the following binary search tree: 5 / \ 2 6 / \1 3Exampl_验证前序遍历序列二叉搜索树

Ubuntu16.04 ros Kinect v2下运行RGBD-SLAM_v2_ubuntu16运行kinectv2 rgb-dslamv2-程序员宅基地

文章浏览阅读1.6k次。1、软硬件软件--装有ROS kinetic ubuntu 16.04硬件--笔记本、kinect2摄像头 turtlebot22.ROS 安装官网安装http://wiki.ros.org/kinetic/Installation/Ubuntu3.kinectv2 安装https://blog.csdn.net/qq_33835307/article/details/8..._ubuntu16运行kinectv2 rgb-dslamv2

思科ASA防火墙之NAT-程序员宅基地

文章浏览阅读723次。实验拓扑软件版本GN3 0.8.6 ASA镜像8.0(2)实验环境R1和R2模拟公司内网,R3模拟互联网设备。ASA作为公司出口,实现NAT地址转换实验需求在ASA上做动态NAT实现对R1 loopback 0 网段的地址转换在ASA上做动态PAT实现对R1 loopback 1 网段的地址转换在ASA上做静态NAT实现对R2 loopback 0 地址经行转换在ASA上做..._asa环回nat

随便推点

Java:String.format格式化浮点数保留指定小数位输出字符串_string.format()保留小数-程序员宅基地

文章浏览阅读4.2k次。利用String.format可以格式化输出字符串。_string.format()保留小数

latex:公式环境-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏29次。1.单行公式环境 equation单行公式环境equation可将一个公式,不管多长都可排版为一行,并给出一个序号。而由系统提供的displaymath环境等效于公式宏包提供的equation*环境. equation和displaymath都只能用于编排单行公式,期间,换行命令无效,而换段命令为非法,它将造成编译终端,引发系统给出错误信息。代码:\begin{equation}...

牛逼了!这4个Python实战项目,我打99.99分!!!-程序员宅基地

文章浏览阅读1.1k次。点击上方蓝色小字,关注“涛哥聊Python”重磅干货,第一时间送达2020年,Python可学吗?答案是可。近些年间,Python 的火热有目共睹,作为一种功能强大的高级编程语言,在20..._python 类 实战

在macOS使用VMware踩过的坑_mac m3 支持 虚拟机嵌套吗-程序员宅基地

文章浏览阅读709次。注意文件名按实际下载的文件名修改。看到以下页面,就是没登录,或者登录的账号没有注册Windows 11 Insider Program。其他基本都保持默认。刚开始安装的系统没有网络适配器,需要通过安装VMware Tools解决。有两种版本,一个是免费版player,一个是收费版pro,用免费版即可。1. 重启,按住Command + R,进入恢复模式。8. 重启,按住Command + R,进入恢复模式。3. 可以看到xxx已被阻止,点击“允许”按钮。12. 正常重启(不要进入恢复模式),完成。_mac m3 支持 虚拟机嵌套吗

基础设施即代码 - 使用Terraform创建AWS EC2实例并部署Jenkins服务-程序员宅基地

文章浏览阅读865次。点击上方蓝字️关注“DevOps云学堂”,接收最新技术实践3月14日晚上8:00分享《使用Terragrunt优化Terraform代码》点击下方预约按钮,预约直播今天是「DevOps云学堂」与你共同进步的第1天关注公众号,回复 devops,免费加入DevOps学习群获得问题解析、DevOps解决方案指导image.pngTerraform 是由 HashiCorp 创建的开源基础设施..._terraformt创建aws的ec2实例

基于opencvsharp的景深融合_景深融合算法-程序员宅基地

文章浏览阅读3.1k次,点赞10次,收藏29次。C#景深融合最近因为一个项目要求,将matlab写的一些关于图像的算法转成C#。这个挺坑爹的,C#处理图像还是挺少的,opencv关于这方面的资源挺少的。我用的是opencvsharp这个第三方库,GitHub上有资源。这个景深融合其实是一个图像边缘检测,然后做了一个平滑处理,根据灰度图的亮度进行筛选,形成一个分区。最后根据分区处理像素的填充。下面贴代码:读取图片的操作就略去了,边缘提取用的是sobel,注意一下,opencvsharp中的图像处理注意mat数据的溢出。及时调整mat的像素深度比如1_景深融合算法

推荐文章

热门文章

相关标签