Objective-C 2.0 with Cocoa Foundation--- (继承 1)

 上一章笔者介绍了一下在objecsive-C里面的类的基本构造和定义以及声明的方法。我们知道在面向对象的程序里面,有一个很重要的需求就是代码的重复使用,代码的重复使用的重要方法之一就是继承。我们在这一章里面,将要仔细的分析一下继承的概念以及使用的方法。有过其他面向对象语言的同学,对这一章的内容应该不会感到陌生。

  4.1,本章的程序的执行结果

  在本章里面,我们将要重复使用第3章的部分代码。我们在第3章构筑了一个叫做Cattle的类,我们在这一章里面需要使用Cattle类,然后基于Cattle类,我们需要构筑一个子类,叫做Bull类。 Bull类里面,我们追加了一个实例变量,名字叫做skinColor,我们也将要追加2个实例方法,分别getSkinColor还有setSkinColor。我们然后需要更改一下我们的main函数,然后在main函数里面让我们的Bull做一下重要讲话。第4章程序的执行结果如图4-1所示:

objecsive-C 2.0 with Cocoa Foundation--- 4,继承

 

  图4-1,本章程序的执行结果

  4.2,实现步骤

  第一步,按照我们在第二章所述的方法,新建一个项目,项目的名字叫做04-Hello Inheritance。如果你是第一次看本篇文章,请到这里参看第二章的内容。

  第二步,把鼠标移动到项目浏览器上面的“Source”上面,然后在弹出的菜单上面选择“Add”,然后在子菜单里面选择“Exsiting Files” ,如图4-2所示

objecsive-C 2.0 with Cocoa Foundation--- 4,继承

  图片看不清楚?请点击这里查看原图(大图)。  

  图4-2,向项目追加文件

  第三步,在文件选择菜单里面,选择第3章的项目文件夹“03-Hello Class”,打开这个文件夹之后,用鼠标和苹果电脑的COMMAND键,选泽文件“Cattle.h”和“Cattle.m”,然后按下“Add”按钮,如图4-3所示。

objecsive-C 2.0 with Cocoa Foundation--- 4,继承

  图片看不清楚?请点击这里查看原图(大图)。  

  图4-3,选择文件

  第四步,在追加文件的选项对话框里面,让“Copy items into destination group's folder(if needed)” 的单选框变为被选择的状态。这样就保证了我们在第三步里面选择的文件被拷贝到了本章的项目里面,可以避免我们不小心更改“Cattle.h”和“Cattle.m”对已经生效的第3章程序产生影响,虽然我们在本章里面不更改这2个代码。

  第五步,把鼠标移动到项目浏览器上面的“Source”上面,然后在弹出的菜单上面选择“Add”,然后在子菜单里面选择“New Files”,然后在新建文件对话框的左侧选择“Cocoa Touch Classes”,然后在右侧窗口选择“NSobjecs subclass”,选择“Next”,在“New File”对话框里面的“File Name”栏内输入“Bull.m”。在这里笔者没有给出图例,在这里新建文件的步骤和第3章的第二步到第四步相同,只是文件名字不一样。第一次看到本篇文章的同学可以参照第3章。

第六步,打开Bull.h做出如下修改,并且保存。

#import 
#import "Cattle.h"

@interface Bull : Cattle {
     NSString *skinColor;
}
- (void)saySomething;
- (NSString*) getSkinColor;
- (void) setSkinColor:(NSString *) color;
@end

  第七步,打开Bull.m做出如下修改,并且保存

#import "Bull.h"


@implementation Bull
-(void) saySomething
{
     NSLog(@"Hello, I am a %@ bull, I have %d legs.", [self getSkinColor],legsCount);
}
-(NSString*) getSkinColor
{
     return skinColor;
}
- (void) setSkinColor:(NSString *) color
{
     skinColor = color;
}
@end

  第八步,打开04-Hello Inheritance.m文件,做出如下修改,并且保存

#import 
#import "Cattle.h"
#import "Bull.h"

int main (int argc, const char * argv[]) {
     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

     id cattle = [Cattle new];    
     [cattle setLegsCount:4];
     [cattle saySomething];
    
     id redBull = [Bull new];
     [redBull setLegsCount:4];
     [redBull setSkinColor:@"red"];
     [redBull saySomething];
    
     Bull *blackBull = [Bull new];
     [blackBull setLegsCount:4];
     [blackBull setSkinColor:@"black"];
     [blackBull saySomething];
    
     [pool drain];
     return 0;
}

第九步,选择屏幕上方菜单里面的“Run”,然后选择“Console”,打开了Console对话框之后,选择对话框上部中央的“Build and Go”,如果不出什么意外的话,那么应该出现入图4-1所示的结果。如果出现了什么意外导致错误的话,那么请仔细检查一下你的代码。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Objective-C程序设计(第六版)》是由苹果公司编写的一本关于Objective-C语言的程序设计参考资料。它在第六版中对Objective-C的语法、语义和应用进行了详细的介绍,旨在帮助读者理解和掌握Objective-C编程。 这本参考资料包含了大量的例子和实践项目,可以帮助读者理解Objective-C语法的具体应用。其中涉及到的内容包括:面向对象的编程基本概念、Objective-C中的类、对象和方法、属性和内存管理等方面。通过实际案例的讲解,读者能够更加深入地理解Objective-C编程的原理和技巧。 此外,《Objective-C程序设计(第六版)》还详细介绍了Objective-C的运行时机制和框架,包括如何使用Cocoa Touch框架进行iOS应用程序开发。读者可以通过学习这些内容,了解Objective-C在实际项目中的应用,并掌握与其他技术的集成。 总的来说,这本参考资料是Objective-C编程的重要手册,适合那些想要学习Objective-C语言和iOS应用程序开发的人士阅读。通过学习这本书,读者可以清晰地了解Objective-C的核心概念和编程模式,并掌握相关的实践技巧。如果读者希望深入了解Objective-C语言和开发iOS应用程序,这本参考资料是非常有价值的。 ### 回答2: 《Objective-C程序设计(第六版)》是一本Objective-C编程的参考书籍。本书主要介绍了Objective-C语言的基础知识、面向对象编程的概念和方法、常用的设计模式以及与iOS开发相关的内容。 作为一本参考书籍,本书提供了全面而系统的内容,旨在帮助读者深入了解Objective-C语言的特性和应用。书中详细介绍了Objective-C的语法和语义,包括基本数据类型、控制流程、函数、类、继承、多态等知识点。同时,还介绍了Objective-C的面向对象编程思想,并且通过具体的示例演示了如何使用Objective-C进行开发。 此外,《Objective-C程序设计(第六版)》还涵盖了常用的设计模式,如单例模式、观察者模式、代理模式等,这些设计模式在实际开发中非常实用,能够提高代码的可重用性和可维护性。 对于iOS开发者来说,本书还介绍了一些与iOS开发相关的主题,如Cocoa Touch框架、UIKit控件、界面布局、视图控制器等,这些内容对于理解和使用iOS开发框架非常重要。 总的来说,《Objective-C程序设计(第六版)》是一本非常全面、系统的Objective-C编程参考书籍,适合有一定编程基础的读者阅读和学习。无论是初学者还是有一定经验的开发者,都可以从本书中获得实用的知识和技能,提升自己的编程水平和开发能力。 ### 回答3: Objective-C 程序设计(第六版)是一本非常有价值的参考资料,它可以帮助读者系统地学习和掌握Objective-C的程序设计。 首先,这本书首先介绍了Objective-C的基本语法和面向对象编程的原则。它通过易于理解的示例和解释,帮助读者建立起对Objective-C的基本概念和语法的理解。 其次,该书还涵盖了Objective-C的高级特性和高级技术,例如协议、运行时编程和内存管理等。这些内容可以帮助读者深入了解Objective-C的特性和灵活性,并使用它们来进行更复杂的程序设计。 除了语法和特性,该书还提供了关于iOS和macOS平台上应用程序开发的实践指导。它介绍了如何使用Objective-C编写iOS应用程序,包括应用程序的结构、界面设计和数据管理等方面。读者可以通过学习这些内容,了解如何将Objective-C应用于实际项目中,并开发出高质量的应用程序。 此外,该书还提供了大量的示例代码和练习题,读者可以通过动手实践来巩固所学的知识。这些代码和练习题涵盖了从基础知识到高级技术的各个方面,可以帮助读者加深对Objective-C程序设计的理解和运用能力。 总之,Objective-C 程序设计(第六版)是一本很好的参考资料,适合想要学习和掌握Objective-C程序设计的读者。它通过系统的介绍和实践指导,帮助读者全面地了解Objective-C的基础知识、高级特性和应用实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值