object-c中的继承-创新互联

在面向对象的语言中都会由继承这种语法,而继承我们通常使用is a 来确定继承的关系,在objcet-c中继承是使用冒号来确定继承的,从下面的例子来了解继承:

创新互联专业为企业提供五通桥网站建设、五通桥做网站、五通桥网站设计、五通桥网站制作等企业网站建设、网页设计与制作、五通桥企业网站模板建站服务,十年五通桥做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1.创建一个studet的对象

------声明

#import <Foundation/Foundation.h>

//我们创建的类必须继承了NSobject对象

@interface student : NSObject{

int _age;

}

-(void)setAge:(int) newAge;

-(int) age;

@end

#import "student.h"

-----实现方法

@implementation student

-(void)setAge:(int)newAge{

_age =newAge;

}

-(int)age{

return_age;

}

@end

2.创建一个叫小明的学生继承了student

---声明

#import <Foundation/Foundation.h>

#import "student.h"

//@class student --------------------这里不能使用@class关键字来引用

@interface liming : student

{

NSString *name;

}

//子类特有的方法

-(void)speak;

-(void) setName:(NSString *)newName;

-(NSString *) name;

@end

------实现

#import "liming.h"

@implementation liming

-(void)setName:(NSString *)newName{

name = newName;

}

-(NSString *)name{

returnname;

}

- (NSString *)description

{

return [NSStringstringWithFormat:@"my name is %@", name];

}

-(void)speak{

NSLog(@"hello my age is %i",self.age);

}

@end

-----mian方法

#import <Foundation/Foundation.h>

#import "student.h"

#import "liming.h"

int main(int argc, constchar * argv[])

{

@autoreleasepool {

liming *lim =  [[limingalloc]init];

    lim.age = 23;

    lim.name =@"小明";

//%@是调用OC中的descrition方法,我们在liming类中重写了description方法

NSLog(@"%@",lim);

  }

//创建子类使用父类进行接受

student *ss = [[limingalloc]init];

ss.age=22;

//     //使用父类进行接收对象依然是可以进行调用子类中的方法,但是Xcode会报警告,Student中没有这个方法。

 [ss speak];

return0;

}

OC中继承:

1.在OC中继承是单继承的。liming类继承了student类,就不能继承其他类。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

文章标题:object-c中的继承-创新互联
网页链接:https://www.cdcxhl.com/article8/dsheop.html

成都网站建设公司_创新互联,为您提供域名注册定制开发网站维护网页设计公司全网营销推广虚拟主机

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设