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. Sorting It All Out(拓扑排序)

    http://poj.org/problem?id=1094 1.判断所给关系是否为合法的拓扑序列,若存在环,输出 "Inconsistency found after %d relatio ...

  2. golang 随机数/域名校验

    //随机数生成要用到的 const letterBytes = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ...

  3. Python迭代器(斐波拉切数列实例)

    将一个容器通过iter()函数处理后,就变成了迭代器.迭代器有2个魔法方法__iter__.__next__,一个迭代器必须实现__iter__,这个方法实际上是返回迭代器本身(return self ...

  4. C - Alice, Bob and Chocolate(贪心)

    Problem description Alice and Bob like games. And now they are ready to start a new game. They have ...

  5. xhtml1-frameset.dtd

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

  6. 快速录入快递地址API接口实现

    电商.ERP等行业下单环节极其重要,如何提高下单的效率已经成为首要问题.快速下单对于客户来说,为提前发货争取了时间:对于卖家来说,提高了库存周转率及利用率.快速下单的接口实现,需要解决如下几个问题:1 ...

  7. C#中SetWindowPos函数详解

    [DllImport("user32.dll")] private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWnd ...

  8. mssql for VSCode Guide

    前言 mssql 出自微软自己的 Visual Studio Code 开源插件,代码托管于 GitHub 上. 不过需要注意的一点是,使用 insert into 语句新增的数据...中文是会乱码的 ...

  9. MVC 数据传递

    public class HomeController : Controller { // GET: Home public ActionResult Index() //控制器名Home下默认的一个 ...

  10. phpStudy 升级 MySQL版本

    1:停止phpStudy ,Mysql 服务;删除Mysql 文件夹 替换为新版本的Mysql 2:复制一份 my-default.ini,改名 my.ini ,打开,在最后面加上: basedir= ...