Swift学习——类的定义,使用,继承,构造等(五)
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学习——类的定义,使用,继承,构造等(五)的更多相关文章
- ts中的类的定义,继承和修饰符
自己搞一个ts文件 里面写代码如下,试一下就行了 /* 1.vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": &q ...
- typescript 类(类的定义、继承、修饰符、抽象类)
代码: // 本节内容 // 1.类的定义 // 2.类的继承 // 3.访问修饰符 // 4.静态属性和静态方法 // 5.抽象类和多态 // js // function Person(name) ...
- python 类的定义和继承
python 2 中类 一.类定义: ? 1 2 class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性如果直接使用类 ...
- JS高级之简单类的定义和继承
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Swift学习之方法定义参数有默认值的时候
func testParms(first fir:String, options opt:JSONSerialization.ReadingOptions = []) -> Bool { ret ...
- Swift 中类的初始化器与继承
首先,Swift 为类定义了两种初始化器来确保类中所有的储存属性都能得到一个初始化值.这两种初始化器就是「指定初始化器」(Designated Initializer)与「便利初始化器」(Conven ...
- swift学习第十一天:类的定义
一: 主要内容 类的介绍和定义 类的属性 类的构造函数 一. 类的介绍和定义 Swift也是一门面向对象开发的语言 面向对象的基础是类,类产生了对象 在Swift中如何定义类呢? class是Swif ...
- swift学习笔记3——类、结构体、枚举
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- swift学习笔记之-类和结构体
//类和结构体 import UIKit //类和结构体 /* 1.枚举enum.结构体struct和String.Array.Dictionary类型,都属于值传递类型,被赋值给新的常量或变量时传递 ...
随机推荐
- Cuckoo for Hashing
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2719 #include <stdio.h ...
- 机器人走迷宫(dfs)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1590 #include <stdio.h ...
- win7下安装memcache
Windows7 x64在Wamp集成环境下安装Memcache,步骤如下: 1.Memcached-win64 下载 (1)最新版本下载:http://blog.couchbase.com/memc ...
- LocalDateTime相关处理,得到零点以及24点值,最近五分钟点位,与Date互转,时间格式
最近一直使用LocalDateTime,老是忘记怎么转换,仅此记录一下 import java.time.Instant; import java.time.LocalDateTime; import ...
- Linux-防火墙设置-centos6.10版
cd /etc/sysconfig vi iptables 输入i进入编辑模式 打开下图,并按照下图修改 输入esc退出编辑模式 输入保存命令:[:w] 输入退出命令:[:q] 重启防火墙 servi ...
- VmWare 安装 Centos
VMware CentOS7 的 ISO 文件 方法/步骤 1 打开虚拟机软件“VMware”,选择“创建新的虚拟机”: 2 选择“自定义(高级)”选项,点击“下一步”: 3 在“硬件兼容性”处选 ...
- oracle-3种工具使用
1:原命令行,dos 2:sqlplus,图形界面 3:isqlplus,网页版的.(假如自己机器无法安装oracle,可通过别人ip地址去使用oracle,http://ip:5560/isqlpl ...
- for 循环 乘法口诀表
用for循环写乘法口诀表: for(var i = 1; i <= 9; i++) { var c=''; for(var x = 1; x <= i; x++) { c=c+x+' ...
- sql server 数据库优化--显示执行计划
刚开始用SQL Server的时候,我没有用显示执行计划来对查询进行分析.我曾经一直认为我递交的SQL查询都是最优的,而忽略了查询性能究竟如何,从而对“执行计划”重视不够.在我职业初期,我只要能获 ...
- Eclipse中配置SVN(步骤简述)
————Eclipse中配置SVN(步骤简述)———— 1.有客户端(tortoiseSVN),服务器端(visualSVN) 两种,根据需要安装,安装后需重启电脑 2.服务器端配置:创建版本库(放工 ...