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 赵本山问奥尼尔:“我的爸爸的爸爸是谁?” 奥尼尔:“不知道” 赵本山:“你傻啊,是我爷爷” 奥尼尔回去问科比:“我的爸爸的爸爸是谁?” 科比:“不知道” 奥尼尔:”你傻啊,是赵本山的爷爷“ ...
随机推荐
- Leetcode jump Game II
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- ACM:UESTC - 649 括号配对问题 - stack
UESTC - 649 括号配对问题 Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu ...
- html和css书写规范
HTML 规范 分离的标记.样式和脚本 结构.表现.行为分离 在可能情况下验证你的标记 使用编辑器验证你的标记是否正确,一般编辑器都自带有这个功能. 技术不支持的时候使用备胎,如canvas 编码格式 ...
- Jquery事件:鼠标移入移出(mouseenter,mouseleave)
前几天帮朋友做了一个单页面,其中有个效果就是鼠标移动到头像上变换头像样式,当鼠标移出时恢复头像样式.当时没多想,脑子就蹦出了mouseover,mouseout两个方法. 但是在编写页面的过程中,无论 ...
- Hint when use HTTPAgilityPack
1- Read the usage policy of the website. I know this is the third time I mention that, but that tell ...
- Docking Windows Phone controls to the bottom of a StackPanel
<Grid> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinit ...
- Git 常用命令行
最近在公司的服务器上安装了Git Sever,开始从SVN转向到Git了,整理了一些在Git常用的命令. 取得Git仓库 初始化一个版本仓库 git initClone远程版本库 git clone ...
- linux服务器使用
1.在widows系统下,下载putty.exe 配置默认的服务器IP + 端口 添加名称.点击save即可 参考:http://jingyan.baidu.com/article/c74d60004 ...
- 实战java虚拟机的学习计划图(看懂java虚拟机)
啥也不说了,实战java虚拟机,好好学习,天天向上!针对自己的软肋制定学习计划. 一部分内容看完,自己做的学习笔记和感想. 学java很简单,但懂java会有难度,如果你的工资还没超过1W,那是时候深 ...
- 将博客从jekyll迁移到了hexo
关于hexo和jekyll hexo和jekyll一样都是个静态网站生成工具,hexo是一个台湾小伙使用nodejs开发的,jekyll则是用ruby开发,github内置了jekyll,可以直接将j ...