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. gulp安装成功但是无法使用

    gulp安装正常,但是查看gulp -v和使用gulp的时候报错, 原因:缺少环境变量或环境变量错误. 查找环境变量的方法:在dos下输入npm config get prefix就会显示一个地址,这 ...

  2. Python 33(2)进程理论

    一:什么是进程         进程指的是一个正在进行 / 运行的程序,进程是用来描述程序执行过程的虚拟概念 进程vs程序 程序:一堆代码 进程:程序的执行的过程 进程的概念起源于操作系统,进程是操作 ...

  3. 想要学好C/C++,我到底要看多少书才能成为一个合格的C/C++工程师?

    如何学好C语言 这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子.比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便 ...

  4. 多线程通信(wait/notify)

    线程通信概念:线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体,线程间的通信就成为整体的必用方式之一.当线程存在通信指挥,系统间的交互性会更强大,在提高CPU利用率的同时就 ...

  5. POJ 3468 线段树+状压

    题意:给你n个数,有对区间的加减操作,问某个区间的和是多少. 思路:状压+线段树(要用lazy标记,否则会TLE) //By SiriusRen #include <cstdio> #in ...

  6. html中<a>标签_top和_parent的区别

    在html中,<a>标签有个target属性,而targe属性有四个值,分别是:_blank._self._top._parent.前两个相信很好理解,第一个就是在新窗口中打开的意思,第二 ...

  7. xhtml1-frameset.dtd

    <!-- Extensible HTML version 1.0 Frameset DTD This is the same as HTML 4 Frameset except for chan ...

  8. 小程序开发之搭建WebSocket的WSS环境(Apache+WorkerMan框架+PHP)

    最近公司的一个IoT项目用到了小程序的WSS协议环境,现在把整个的搭建开发过程分享给大家. 这里我们用的是WorkerMan框架,服务器是CentOS,Web服务器是Apache,开发语言是PHP. ...

  9. 魅族和三星Galaxy 5.0webView 问题Android Crash Report - Native crash at /system/lib/libc.so caused by webvi

    解决办法是当前activity 销毁的时候 webView.destroy(); hine: ConnectedState (when=-2ms what= arg1=!CMD_RSSI_POLL : ...

  10. java程序员级别划分

    IT路虽好,却难走.1级   为会基本语法 大学里的JAVA教程 能及格 2级   自己可以写个 俄罗斯方块,扫雷,贪吃蛇, 拼图之类的小游戏 3级   能够进手机游戏CP,SP公司,做手机游戏 或者 ...