黑马程序员——OC基础—-----一个简单OC程序的分析

来源:互联网 发布:按键精灵节奏大师源码 编辑:程序博客网 时间:2024/05/16 07:24

-----------Java培训Android培训IOS培训.Net培训、期待与您交流!------------ 

刚开始学习oc,感觉跟C有很大的不一样,挺别扭的。

1、oc类的导入用的是#import关键字。

2、oc的基类是NSObject。类对象的创建要显示继承自NSObject。

3、oc的关键字都是以@开头,字符串也是以@开头。如@public表示成员变量的访问级别是公共的。

4、oc类的成员和方法在@interface和@end中声明,方法在@implementation和@end中实现。

5、类的对象方法以 - 开头,类方法以 + 开头。类型需要用括号括住。如- (void)test;

6、要执行某些行为或者方法时,需要用中括号括住。如

    创建OC对象的两种方式:

     a:[Student new] 指创建了一个新的Student对象   

     b:[[Student alloc] init] 

    [stu study]指执行对象stu的study方法

7、对象成员的访问用->符号表示,如p->wheels表示访问p对象的wheels成员。

8.OC有category、delegate、protocol等其他语言没有功能。

// 因为使用了NSObject//导入框架#import <Foundation/Foundation.h>// 完整地写一个函数:函数的声明和定义(实现)// 完整地写一个类:类的声明和实现// 1.类的声明// 声明对象的属性、行为// : NSObject 目的是:让Car这个类具备创建对象的能力@interface Car : NSObject{// 用来声明对象属性(实例变量\成员变量,默认会初始化为0)    // @public可以让外部的指针间接访问对象内部的成员变量    @public    int wheels; // 轮胎个数    int speed; // 时速(xxkm/h)}// 方法(行为):方法名、参数、返回值(声明、实现)// 只要是OC对象的方法,必须以减号 - 开头// OC方法中任何数据类型都必须用小括号()扩住// OC方法中的小括号():括住数据类型- (void)run;@end// 2.类的实现// 用来实现@inteface中声明的方法@implementation Car// 方法的实现(说清楚方法里面有什么代码)- (void)run //对象方法{    NSLog(@"车子跑起来了");}+ (void)fly //类方法{    NSLog(@"车子飞起来了");}@endint main(){    // 在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称]    // 利用类来创建对象    // 执行了Car这个类的new行为来创建新对象        // 定义了一个指针变量p,p将来指向的是Car类型的对象    // [Car new]每次都会创建出一个新对象,并且会返回新对象本身(新对象的地址)    Car *p = [Car new]; //创建Car对象            Car *p2 = [Car new]; //创建Car对象    p2->wheels = 5;      //对p2对象的wheels属性进行赋值    p2->speed = 300;     //对p2对象的speed属性进行赋值    [p2 run];            //调用run方法        // 给p所指向对象的wheels属性赋值    p->wheels = 4;    p->speed = 250;        // 给p所指向对象发送一条run消息    [p run];        NSLog(@"车子有%d个轮子,时速位:%dkm/h", p->wheels, p2->speed);        return 0;}


0 0
原创粉丝点击