您的位置:首页 >> Swift >> 和屌丝一起学SWIFT-继承

和屌丝一起学SWIFT-继承

[ 孤狼 | 2016-04-26 20:58:27 | Swift | 2704°C | 0条评论 ]

声  明

       本教程仅用于初学SWIFT同学使用,内容由本人(孤狼)学习过程中笔记编写,本教程使用SWIFT版本为2.0。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。PAEA.CN版权所有。



欢迎回到和屌丝一起学SWIFT系列教程,上节我们说了下标脚本,这节我们来一起学习一个重要的东西-继承.继承是面向对象开发中的一种很常见的功能,继承的存在扩展了类在使用中的功能性,使得类变的更为的好用,更加的灵活.

 

 

 

继承


继承是代码复用及管理的一大亮点,他出现在几乎所有面向对象的语言中,SWIFT,一个类可以继承另一个类的所有,被继承的类叫做超类或父类,继承的类叫做子类.另外在SWIFT,仅有类支持继承.

 

 

[基类]

基类不是搞基的类,而是基础的类.SWIFT,不继承其他类的类就叫做基类.

 

 

[子类]

继承其他类的类就是子类,可以直接理解为他是其他类的孩子,因为其他类有的东西他都有,这个过程就叫做继承.继承使用 冒号(:) 来定义.

class Ren{
var name:String?;
var age:Int?;
var sex:String?;
}


这里我们先定一个基类-Ren,然后我们创建个子类,NanRen

class NanRen:Ren{}
var ren=NanRen();
ren.age=10;
print(ren.age);
//输出"10"


 

这里我们可以看出,NanRen类没有定义任何东西,就可以使用和Ren类一样的属性.但是如果仅仅是这样,继承就会失去意义.继承之后,我们还要为子类添加新的属性才能让继承发挥作用.

class HaoRen:Ren{
var say="我是好人别杀我.";
}
class HuaiRen:Ren{
func do1(){
print("kill you");
}
}
var haoren=HaoRen();
var huairen=HuaiRen();
print(haoren.say); //输出"我是好人别杀我."
huairen.do1(); //输出"kill you"


这里我们看到,我们创建了2个子类,他们都有父类Ren的属性,同时他们还有这自己独特的属性和方法.这就是继承的精华.

 

 

[重写]

如果子类继承了父类一些东西,但是子类觉得父类的这些基因不好,他要修改为自己想要的方式,这个过程叫做重写.我们使用关键字 override 来重写父类的基因.如果你的父类的属性中有不想被他的子类重写的,需要用关键字 final 来修饰.

class Gou{
var say="wang";
func eat(){
print("吃骨头");
}
}

class XiaoGou:Gou{
override var say:String{
get{
return "123";
}
set{

}
}
override func eat(){
print("不吃骨头");
}
}
var x=XiaoGou();
print(x.say); //输出"123"
x.eat(); //输出"不吃骨头"


 

本节代码下载


转载请注明出处:http://gl.paea.cn/n.php?n=94
 
如您看得高兴,欢迎随意投喂,让我们坚持创作!
赞赏一个鸡腿
还没有人留下遗迹
综合 · 搜索