Swift学习——类的定义,使用。继承,构造等(五)

类的使用说明

1 使用class和类名来创建一个类名,比如: class student

2 类中属性的声明和常量和变量一样,唯一的差别就是他们的上下文是类

3 方法和函数声明也一样

// 1 ---- 简单的类介绍
class Student{ //变量学号初始化为0
var num = 0; //成员函数
func GetNum()->Int{
return num
}
} //创建类的实例对象 var student = Student() //訪问类的成员变量 student.num = 1 //訪问类的成员函数
var Num = student.GetNum() //打印出类的变量和成员函数
println("student1 num is \(student.num)")
println("student2 num is \(Num)") // 2 ---- 类中的构造函数和析构函数 /*
构造函数 init
析构函数 deinit
*/ class StudentLow{
var numberlow:Int = 0
var namelow:String //构造函数。构造器来赋值
init(namelow:String){ /*
self被用来差别实例变量,当你创建实例的时候,像传入函数參数一样给类
传入构造函数的參数。 每一个属性都须要赋值-不管是通过声明(numberlow)
还是通过构造函数(就像namelow)
*/ self.namelow = namelow
} func simpleDescription()->String{ return "I am is low studnet"
} } //注意我的构造函数有參数,这里我创建实例对象时。要加上參数才正确 var studentlow1 = StudentLow(namelow:"Jhon") studentlow1.numberlow = 2 println("studentlow1 num is \(studentlow1.numberlow)")
println("studentlow1 name is \(studentlow1.namelow)")
println("studentlow1 information is \(studentlow1.simpleDescription())") // 3 ---- 继承类。创建StudentLow的子类StudentHight /*
继承说明:
子类的定义方法是在它们的类名后面加上父类的名字,用冒号切割。
创建类的时候并不须要 一个标准的根类,所以你能够忽略父类。
*/ class StudentHight:StudentLow{ var grade:Double init(grade:Double,name:String){
self.grade = grade //注意namelow:name參数传递 super.init(namelow:name)
numberlow = 3
} func Grade()->Double{
return grade*0.9
} //子类假设要重写父类的方法的话,须要用 override 标记——假设没有加入 override 就重写 父类方法的话编译器会报错。
//编译器相同会检測 override 标记的方法是否确实在父类中。 override func simpleDescription()->String{
return "I am a hight student"
} } //创建实例对象 let studenthight1 = StudentHight(grade:98,name:"lucy") println("studenthight1 num is \(studenthight1.numberlow)") println("studenthight1 name is \(studenthight1.namelow)") //调用函数
println("Greades is \(studenthight1.Grade())") println("studenthight1 grade is \(studenthight1.grade)") //调用函数
println("studenthight1 information is \(studenthight1.simpleDescription())");

Swift学习——类的定义,使用,继承,构造等(五)的更多相关文章

  1. ts中的类的定义,继承和修饰符

    自己搞一个ts文件 里面写代码如下,试一下就行了 /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": &q ...

  2. typescript 类(类的定义、继承、修饰符、抽象类)

    代码: // 本节内容 // 1.类的定义 // 2.类的继承 // 3.访问修饰符 // 4.静态属性和静态方法 // 5.抽象类和多态 // js // function Person(name) ...

  3. python 类的定义和继承

    python 2 中类 一.类定义: ? 1 2 class <类名>:   <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性如果直接使用类 ...

  4. JS高级之简单类的定义和继承

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Swift学习之方法定义参数有默认值的时候

    func testParms(first fir:String, options opt:JSONSerialization.ReadingOptions = []) -> Bool { ret ...

  6. Swift 中类的初始化器与继承

    首先,Swift 为类定义了两种初始化器来确保类中所有的储存属性都能得到一个初始化值.这两种初始化器就是「指定初始化器」(Designated Initializer)与「便利初始化器」(Conven ...

  7. swift学习第十一天:类的定义

    一: 主要内容 类的介绍和定义 类的属性 类的构造函数 一. 类的介绍和定义 Swift也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象 在Swift中如何定义类呢? class是Swif ...

  8. swift学习笔记3——类、结构体、枚举

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  9. swift学习笔记之-类和结构体

    //类和结构体 import UIKit //类和结构体 /* 1.枚举enum.结构体struct和String.Array.Dictionary类型,都属于值传递类型,被赋值给新的常量或变量时传递 ...

随机推荐

  1. linux随便贴贴

    在bin目录下进入mysql: ./mysql -uroot -p123456 update mysql.user set password=password('root') where user=' ...

  2. 关于Vue.js去掉#号路由

    正常启动后访问路由: 中间会自动加入一个#号 去掉#号: 在route文件夹下的index.js中加入mode: 'history', ①: ②: 关于mode说明: 默认值: ‘hash‘(浏览器) ...

  3. go之数组

    一.数组概念 go语言提供了数组类型的数据结构 数组是具有 [唯一类型] 的一组 [固定长度] 的数据项序列,这种类型可以是任意类型 二.数组声明 var variable_name [SIZE]va ...

  4. CVTE面经

    神一般的面试经历.也算面了不少公司,没见过这种面试. 一面:三个同学对应一个面试官,同一个问题依次作答. 1.为什么投递这个岗位? 答:blablabla... 2.最难忘的成功项目? 答:blabl ...

  5. S - New Year Transportation

    Problem description New Year is coming in Line World! In this world, there are n cells numbered by i ...

  6. RabbitMQ 官方NET教程(六)【RPC】

    在第二个教程中,我们学习了如何使用Work Queues在多个工作者之间分配耗时的任务. 但是如果我们需要在远程计算机上运行功能并等待结果怎么办? 那是一个不同的模式. 此模式通常称为远程过程调用或R ...

  7. JQuery 使用.show()和.hide()做的可爱动画

    只是最基本的东西,没啥稀奇的,只是今天看jquery教程的时候偶然看到show()和hide()是可以写两个参数的, 第一个参数是元素隐藏/显示的速度(单位:毫秒),另一个是一个function类型. ...

  8. PANDAS 数据分析初学者教程

    Pandas 初学者教程       2018-05-19 六尺巷人 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包.它不仅提供了很多方法,使得数据处理非常 ...

  9. 《java数据结构与算法》系列之“快速排序"

    部门没人了,公司动作好快...算了,不想了!还是学知识吧,只有它不会让自己失望. 继续我的算法学习,快速排序是应用很广的算法,看了一早上才看懂些,感觉比冒泡之类的难理解,可能主要是递归那块自己不是很理 ...

  10. CMMI评估流程

    原文链接:http://www.cmmcn.com/new/cmmi-105.html 当前位置:首页 >> CMMI知识库 >> CMMI相关 >> CMMI评估 ...