swift基础:第六部分:类与对象
http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档)
互联网这个时代,你松懈一天,就会有很多很多的新的技术和新的领域崭露头角,一时之间,就感觉自己的技术快要被淘汰掉,说实话,心急火燎的,本来我想在iOS开发技术日渐成熟到熟练的时候去学习html5,而现实却是那般残酷,facebook开源react Native,据说可以跨平台开发,iOS已经全面支持,只有安卓会在十月份达到全面支持。如此看来,学习react Native已形成刻不容缓之势。加快进度吧,把swift基础的最后一部分学习完,好,进入正题吧。
1.类和对象
class Person {
//属性
var name:String = "zhangsan"
var age : Int?
//初始化方法
init (name:String,age:Int) {
self.name = name
self.age = age
}
//方法
func printName(){
print(self.age!)
}
//析化器,相当于oc中的dealloc方法
deinit
{ }
} //创建对象
Person (name: "lisi",age: ) let per = Person(name: "wangwu",age: ) per.printName()
2.结构体,说到结构体,在oc中的结构体和类有些相似,但是也有很大的区别,那么在swift中结构体和类有哪些相似点和不同点呢
先看一个结构体
struct car {
var carNumber:Int?
var carType:String? init(carNumber:Int, carType:String)
{
self.carNumber = carNumber
self.carType = carType
}
}
/* 类与结构体的区别 *相同点: 1.都包含属性和方法,swift的结构体和c的结构体有很大区别
2.都包含构造器方法
*不同点: 1.类可以被继承,结构体不能
2.类包含析构器结构体却没有 */
3.我们再来写一个完整的类,加强练习吧
class Student {
var name:String?
var age: Int?
var sex: String?
var studentId: Int? init(name:String, age:Int, sex:String, studentId:Int)
{
self.name = name
self.age = age
self.sex = sex
self.studentId = studentId
} func printInfo() {
print("my name is \(self.name!),age is \(self.age!),sex is \(self.sex!),student id is \(self.studentId!)")
} deinit
{
}
}
let stu = Student(name: "zhangsan",age: ,sex: "男", studentId: )
stu.printInfo()
4.重写父类的初始化方法,须使用override关键字
//重写父类方法
class student: Student {
var score:Float?
override init(name: String, age: Int, sex: String, studentId: Int) {
super.init(name: name, age: age, sex: sex, studentId: studentId)
}
}
5.类方法
//重写父类方法
class student: Student {
var score:Float?
override init(name: String, age: Int, sex: String, studentId: Int) {
super.init(name: name, age: age, sex: sex, studentId: studentId)
}
//类方法
class func printMethod(name:String)
{
print(name)
}
}
6.协议的基本形式是 : protocol协议名{ }
protocol protorolDelegate {
func change(name:String, age:Int) -> String
}
7.继承关系
class teacher: Person,personDelegate {
func change() -> String {
return "name"
}
}
swift的基础语法部分就简单涉猎到这儿,下一节我们学习,swift的UI部分。
swift基础:第六部分:类与对象的更多相关文章
- Java入门篇(六)——类和对象
写到这里终于写到了入门篇的最后一个知识点了.类和对象是Java中经常被提到的两个词汇,实际上可以将类看作对象的载体,它定义了对象所具有的功能.Java是面向对象的语言,因此掌握类与对象是学习Java语 ...
- c++ 吕凤翥 第六章 类和对象(二)
c++ 吕凤翥 第六章 类和对象(二) 指针 引用 和数组 一:对象指针和对象引用 1.指向类的成员的指针 分为指向成员变量和指向成员函数两种指针 成员变量的格式: 类型说明符 类名: ...
- JAVA基础第三章-类与对象、抽象类、接口
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- C#基础篇--面向对象(类与对象)
1.类是什么? 类就相当于模板,就是把同一类的事物的共同特征进行的抽象. 类的创建和说明: 类是先根据一些具体的对象(实体的东西)来抽象出来的共同的特性,然后用代码来表示. 在类中,用数据表示事物的 ...
- Kotlin基础(三)类、对象和接口
类.对象和接口 一.定义类的继承结构 一)Kotlin中的接口 Kotlin的接口与Java8中相似,它们可以包含抽象方法的定义以及非抽象方法的实现,但它们不能包含任何状态. interface Cl ...
- (三十六)类数组对象arguments
类数组对象:arguments 在函数调用时,我们总能见到arguments这个对象,它具体是用来干什么的呢?感觉逼格非常高呢 函数在使用时,我们总会位函数传入各种参数,arguments会将参数储存 ...
- Python学习笔记(六)——类和对象
1.self的用法 全面理解self 2. 继承 子类继承父类,自动拥有父类的全部方法 >>> class Animal: def run(self): print('Animal ...
- php笔记(六)PHP类与对象之对象接口
接口的实现 <?php //interface 关键字用于定义一个接口 interface ICanEat{ //接口里面的方法不需要实现 public function eat($food); ...
- Scala 基础(4)—— 类和对象
1. 类.字段和方法 Scala 用 class 关键字定义类,一旦定义好一个类,就可以使用 new 关键字创建对象. Scala 使用 new 调用无参构造器时,可以不使用 (),推荐不使用括号: ...
- Java学习日记基础(五)——类、对象之this、静态变量(类变量)、静态方法(类方法)、四大特征
this 赵本山问奥尼尔:“我的爸爸的爸爸是谁?” 奥尼尔:“不知道” 赵本山:“你傻啊,是我爷爷” 奥尼尔回去问科比:“我的爸爸的爸爸是谁?” 科比:“不知道” 奥尼尔:”你傻啊,是赵本山的爷爷“ ...
随机推荐
- HTML5 标签audio添加网页背景音乐代码
<head> <meta http-equiv="Content-Type" name="viewport" content="wi ...
- JS:event对象下的target属性和取消冒泡事件
1.target 通过获取DOM元素 var box = document.getElementById("box"); document.box.onclick = functi ...
- 利用轮播原理结合hammer.js实现简洁的滑屏功能
最近有个任务,做一个非常小的h5的应用,只有2屏,需要做横向的全屏滑动切换和一些简单的动画效果,之前做这种东西用的是fullpage.js和jquery,性能不是很好,于是就想自己动手弄一个简单的东西 ...
- CentOS7和win7双系统启动项
1.添加win7启动项编辑文件 /boot/grub2/grub2.conf menuentry 'Windows 7' { insmod ntfs set root='hd0,1' chainloa ...
- python endswith和startwith
转载:http://blog.sina.com.cn/s/blog_5dd2af0901012rmn.html 做文本处理的时候经常要判断一个文本有没有以一个子串开始,或者结束.Python为此提供了 ...
- bug2--工程性错误
1问题场景:图片上传失败,打印log.http header 有数据.不报错,通过流写入文件后,文件被创建,但是大小为0kb. 执行:df -h 发现linux的磁盘 used 100%. 原来是没有 ...
- jmeter jar包
jmeter jar包下载地址: http://cn.jarfire.org/ApacheJMeter.html 放在 jmeter /lib目录下
- sweetalert api中文开发文档和手册
官网和下载地址: http://t4t5.github.io/sweetalert/ 2016年10月30日14:10:21 废话,目前php开发越来越API话,所以php方法很多都是json返回数 ...
- htmlentities,html_entity_decode,addslashes
PHP htmlspecialchars_decode() 函数 PHP htmlspecialchars() 函数 PHP html_entity_decode() 函数 PHP中混淆的三组函数总结 ...
- AutoIt操作Windows GUI实现文件上传
AutoIt 一个使用类似BASIC脚本语言的免费软件,用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务. 官方网站: htt ...