ios开发中的Swift面向对象
iOS在现代计算机语言中,面向对象是非常重要的特性,Swift语言也提供了面向对象的支持。而且在Swift语言中,不仅类具有面向对象特性,结构体和枚举也都具有面向对象特性。
1、Swift中的类和结构体
Swift中的类和结构体定义的语法也是非常相似的。我们可以使用class关键词定义类,下面我们定义一个Person类,分别包含年龄和姓名属性。
import UIKit
class JRPerson: NSObject {}
  我们发现现在类的定义和之前OC定义有了很大的不同,对于之前的.m文件和.h文件已经消失了,现在我们定义一个类只有一个文件.swift文件。
2 增加属性
在这里我们定义属性不需要设置set和get方法了如下所示:
//方式一 给默认值
var name:String="";
var age:Int!=; //方式二 采用可选类型
var name:String!;
var age:Int!;
3 构造方法
Swift采用的构造方法跟java类似,我们可以通过重载构造方法来进行初始化,系统有一个默认的构造方法是没有参数的,我们可以根据自己的需求分别重载构造方法。
//系统自带构造方法
override init() {
super.init();
} //重载构造方法,分别以两个属性作为参数
init(name :String,age:Int) {
super.init(); self.name=name;
self.age=age;
}
//重载构造方法,用一个字典作为参数
init(dic :Dictionary<String,String>) {
super.init();
self.name=dic["name"];
self.age=dic["age"]?.toInt(); }
4 对象初始化如下
//用默认的构造方法初始化
var per0=JRPerson(); //用带两个参数的构造方法初始化
var per1=JRPerson(name: "zhangsan", age: ); //用带字典参数的构造方法初始化
var dic=["name":"zhangsan","age":""];
var per3=JRPerson(dic: dic);
对象的方法
/**
* 打印出当前人员的属性
无参数,无返回值
*/
func show(){
println("name=\(name) and age=\(age)");
}
/**
* 打印出当前人员的属性
有参数,有返回值==》箭头代表返回值的类型,我们此时的返回值为整形
*/
func show2(num :Int,str :String,param :String) -> Int{ for (var i=;i<num;i++){
println(str);
} return ;
}
6 类方法
类方法只需要在前面添加class即可如下
/**
* 类方法
*
* @return <#return value description#>
*/
class func show3(){
println("hello");
}
7方法的调用
//用默认的构造方法初始化
var per0=JRPerson(); //调用对象方法
per0.show();
//调用类方法
JRPerson.show3();
出处:http://www.cnblogs.com/jerehedu/
版权声明:本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
技术咨询:

ios开发中的Swift面向对象的更多相关文章
- 【swift,oc】ios开发中巧用自动布局设置自定义cell的高度
		ios开发中,遇到自定义高度不定的cell的时候,我们通常的做法是抽取一个frame类,在frame类中预算好高度,再返回. 但是苹果出来自动布局之后...春天来了!!来看看怎么巧用自动布局设置自定义 ... 
- 【Swift】ios开发中巧用 description 打印对象时,打印对象的属性
		ios开发中我们打印对象的时候,会直接输出对象地址,这样不方便我们开发.我们可以 巧用 description 打印对象时,输出对象的属性 在oc中直接重写即可.swift中需要遵守Printable ... 
- 【Swift】图文混排,ios开发中在textfield或textView中插入图片
		在ios开发中,我们一般都是在textfield或者textView中输入文字.当我们需要插入图片的时候其实也是很简单的 我们需要利用的textfield,textView的属性化文本,将图片以附件的 ... 
- 【Swift】IOS开发中自定义转场动画
		在IOS开发中,我们model另外一个控制器的时候,一般都使用默认的转场动画. 其实我们可以自定义一些转场动画.达到不同的转场效果. 步骤如下:(photoBrowser是目标控制器) 1.在源控制器 ... 
- 简述 Ruby 与 DSL 在 iOS 开发中的运用
		阅读本文不需要预先掌握 Ruby 与 DSL 相关的知识 何为 DSL DSL(Domain Specific Language) 翻译成中文就是:"领域特定语言".首先,从定义就 ... 
- 白话 Ruby 与 DSL 以及在 iOS 开发中的运用
		每日一篇优秀博文 2017年10月7日 周六 白话 Ruby 与 DSL 以及在 iOS 开发中的运用 阅读本文不需要预先掌握 Ruby 与 DSL 相关的知识 何为 DSL DSL(Domain S ... 
- iOS开发中静态库之".framework静态库"的制作及使用篇
		iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ... 
- iOS开发中静态库制作 之.a静态库制作及使用篇
		iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ... 
- iOS开发中常见问题集锦
		在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ... 
随机推荐
- Linux上设置nginx支持https
			1.前提条件 如果系统没有自带openssl,则需要安装. 2.生成证书 # .首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/ # .创建服务器私钥,命令会让你输入一个口令: ... 
- JavaScript-hash数组for in 函数
			什么是数组:内存中,连续存储多个数据的存储空间,再起一个名字为什么; 为什么:现实存储多个相关数据,都是集中存储,共同一个名字 程序=数据结构+算法 好的数据结构可以极大的提高程序的执行效率 何时使用 ... 
- 【状压dp】【bitset】bzoj1688 [Usaco2005 Open]Disease Manangement 疾病管理
			vs(i)表示患i这种疾病的牛的集合. f(S)表示S集合的病被多少头牛患了. 枚举不在S中的疾病i,把除了i和S之外的所有病的牛集合记作St. f(S|i)=max{f(S)+((St|vs(i)) ... 
- MySQL设置字符集CHARACTER SET
			本文地址:http://www.cnblogs.com/yhLinux/p/4036506.html 在 my.cnf 配置文件中设置相关选项,改变为相应的character set. 设置数据库编码 ... 
- mfc 在VC的两个对话框类中传递参数的三种方法
			弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ... 
- .android:allowTaskReparenting 等Activity 的task属性
			转自http://blog.csdn.net/javayinjaibo/article/details/8855678 1.android:allowTaskReparenting 这个属性用来标记一 ... 
- REST API 安全设计指南
			0x01 REST API 简介 REST的全称是REpresentational State Transfer,表示表述性无状态传输,无需session,所以每次请求都得带上身份认证信息.rest是 ... 
- django orm总结
			目录1.1.1 生成查询1.1.2 创建对象1.1.3 保存修改的对象1.1.4 保存 ForeignKey 和 ManyToManyField 字段1.1.5 检索对象1.1.6 检索所有的对象1. ... 
- 【Android】应用程序Activity启动过程分析
			在Android系统中,有两种操作会引发Activity的启动,一种用户点击应用程序图标时,Launcher会为我们启动应用程序的主Activity:应用程序的默认Activity启动起来后,它又可以 ... 
- paip.语义分析--单字动词表.txt
			paip.语义分析--单字动词表.txt 排除重复 select * from t where word in (SELECT word from t_a) or word in (SELEC ... 
