------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
在由C语言转变到OC之后很大的一点不同就是编程思想的转变,由面向过程变为面向对象。
以下是总结练习代码:
/*
类的声明和实现
1.累的声明(规定当前类的:类名、属性、行为)
@interface 类名:父类名
{
//定义类的属性
}
//类的行为
@end
2.类的实现(具体实现)
@implementation 类名
//行为的具体实现
@end
对象的创建
[Host new] //这句话做了三件事
1.向计算机申请分配内存空间
2.给类中的每一个成员初始化值
3.返回新申请的空间首地址
Host *host1 = [Host new]; //定义了一个Host类型的指针变量,指向新申请的内存空间
//实例化了一个Host类型的对象,对象名为host1
*/
#import <Foundation/Foundation.h>
//声明一个类
@interface Host : NSObject
{
@public
//类的属性
int version; //主机版本
NSString *code; //主机序列号
int type; //主机类型
int size; //主机尺寸
int chNum; //主机通道数
}
//类的方法
@end
//实现一个类
@implementation Host
//行为的具体描述
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建一个对象
Host *host1 = [Host new];
if (host1 != NULL) {
host1->version = 6;
host1->size = 3;
host1->chNum = 11;
NSLog(@"%p",host1);
}
}
return 0;
}
之前学习过Java的经历使我对面向对象编程已经有了自己的理解。
但是在OC这门语言中,有一个与Java中定义不同的地。
是OC中定义类的@interface和java中的interface不是一回事。OC中@protocol和java中的interface才是比较类似的。
这是在由Java到OC中需要注意的一点不同之处。