oc程序设计题 设计一个Car类,成员变量int speed;在设计一个方法compareSpee

oc程序设计题 设计一个Car类,成员变量int speed;在设计一个方法compareSpee,第1张

您好,代码需要您创建一个名为Car的类和两个对象并且分别赋值

---------------------------------------请您在主函数中这样写-----------------------------------------

#import <Foundation/Foundation.h>

#import "Car.h"

int main(int argc, const char * argv[])

{

@autoreleasepool {

//创建两个Car类的对象

Car * car1 = [[Car alloc]init]

car1.speed = 100

Car * car2 = [[Car alloc]init]

car2.speed = 200

NSInteger result = [car1 compareSpeedWithOther:car2]

NSLog(@"%ld",result)

[car1 release]

[car2 release]

}

return 0

}

--------------------------------------------Car.h----------------------------------------------------

#import <Foundation/Foundation.h>

@interface Car : NSObject

//定义一个名为speed的整形属性,这个属性是可以被外部访问的成员变量

@property (nonatomic,assign)NSInteger speed

-(NSInteger)compareSpeedWithOther:(Car *)car

@end

--------------------------------------------Car.m----------------------------------------------------

#import "Car.h"

@implementation Car

-(NSInteger)compareSpeedWithOther:(Car *)car

{

NSInteger result = self.speed - car.speed

//如果是负数的差值就转为正数

if(result <0){

return result * -1

}else{

return result

}

}

@end

------------------------------------------------------------------------------------------------------

下面简要说说他们的区别:

1.继承:Objective-C与同Java和Smalltalk一样不支持多重继承,而C++语言支持多重继承(从侧面可以说明多重继承的效率不高);

2.函数调用:Objective-C通过互相传递消息实现函数调用,而C++直接进行函数调用

3.定型:Objective-C是动态定型(dynamicaly typed)。所以它的类库比C++要容易 *** 作。Objective-C 在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。而C++,对象的静态类型决定你是否可以发送消息给它。

4.接口:Objective-C采用protocol协议(非正式和正式)的形式来定义接口,而C++采用虚函数的形式来定义接口。

5.方法重载:c++中允许两个方法的名字相同,参数个数相同,但是参数类型不同,以及不同的返回值类型。而OC中不允许同一个类中两个方法有相同的名字,参数个数相同,参数类型不同

定义

       C++:一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。

Objective -C:行内人简称其为OC。它的发展主要是因为1988年Steve Jobs的NextStep采用Objective-C作为开发语言,因此MacOS X以及IOS上的开发最佳语言自然也就是Objective-C了。同时Objective-C是苹果Mac OS X 上开发的首选语言,主要是因为Mac OS X 技术源自NextStep的OpenStep *** 作系统,因为OPENSTEP的软件架构(framework)都是用Objetive-C 写成。然后OC是由Brad Cox在80年代初在第一个纯面向对象语言Smalltalk基础上写成。Brod Cox创立了StepStone公司进行OC语言的推广。最终OC在1992年获得了GNU gcc编译器的支持,因此OC也是GNUstep在Linux和其他平台上的开发语言

语言特点:

C++语言特点:

1.在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;

2.可以使用抽象数据类型进行基于对象的编程;

3.可以使用多继承、多态进行面向对象的编程;

4.可以担负起以模版为特征的泛型化编程。

OC语言特点:

1.Objecive-C属于Smalltalk学派,其面向对象与C++面向对象编程力的Simula 67(一种早期面向对象语言)学派不同;

2.Objective-C 是ANSI C的超集,扩展了C 语言使它具备面向对象设计的能力,例如类、消息‘继承同时在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法;

3.Objective-C可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。

C++与OC同为面向对象设计语言,他们有很多相似的对象,但是由于两者属于不同的面向对象学派。。如下图XCode报错:

学习Object-c 是为了iOS 开发吧?语法书《 Objective-C 2.0 程序设计》最新版的。iOS 开发强烈推荐 《 iOS 编程(第四版)》。先快速过一遍语法书,然后可以跟着后一本书边学边敲代码学习。视频可以去下载以前传智出的 M了个J 的教学视频。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7689554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存