关情纸尾---OC-面向对象->类和对象

作者: 关情纸尾 | 来源:发表于2016-04-21 10:36 被阅读122次

    一、OC程序的入口:main函数

     在OC中一个参数对应一个冒号
    

    二、类的设计:

    1.类名
      1.1 类名的第一个字母是大写
      1.2 不能有下划线
      1.3 多个英文单词时,用驼峰标识
    2.属性
    3.行为(功能)
    

    三、用一个例子来呈现类的声明和实现

    类名:Car
    属性:轮胎个数、时速
    行为:跑
    
    因为使用了NSObject
    #impot<Foundation/Foundation.h>
    完整的写一个函数:函数的声明和实现(定义)
    完整的写一个类:类的声明和实现
     
    1.类的声明
    声明对象的属性、行为
    :NSObject 目的是 让Car这个类具备创建对象的能力
    @interface Car : NSObject
    {
    用来声明对象属性(实例变量\成员变量,会默认初始化为0)
    @public 可以让外部的指针间接访问对象内部的成员变量
    成员变量\实例变量不允许在这里初始化
     
    @public
    int wheels;
    //int wheels = 4;这是不允许的
    int speed;
    }
    方法(行为):方法名、参数、返回值(声明、实现)
    只要是OC对象的方法必须用减号 — 开头
    OC方法中的任何数据类型都必须用小括号()括住,并且在OC中小括号只用于括住数据类型
     
    —(void)run;
    @end
    

    2.类的实现

    用来实现@interface中声明的方法
    @implementation Car
    方法的实现(说清楚方法里面有什么代码)
    —(void)run
    {
      NSLog(@"车子跑起来了");
    }
    @end
     
    int main()
    {
      定义了一个指针变量p,p将来指向的是Car类型的 对象
      [Car new] 每次都会创建一个新对象,并且会返回新对象本身(新对象的  地址)
      Car *p =[Car new];
     
      在OC中,想执行一些行为,就写在一个中括号[行为执行者 行为名称]
      利用类来创建对象
      执行Car这个类的new行为来创建新对象
      p->wheels = 5;
      p->speed = 300;
      [p run];
      NSLog(@"车子都%d个轮子,时速为%dkm/h",p->wheels,p->speed);
      return 0;
    }
    

    常见错误

    方法
    1.方法对象都是以减号开头
    2.对象方法的声明必须写在之间
    3.对象方法的实现必须写在@implementation和@end之间
    4.对象方法只能由对象来调用
    5.对象方法归 类或者对象所有
    
    函数
    1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有
    2.函数调用不依赖于对象
    3.函数内部不能直接通过成员变量名访问其他对象成员变量
    @public  不可遗忘
    @end     不可遗忘
    

    posted @ 2015-02-01 13:04

    相关文章

      网友评论

        本文标题:关情纸尾---OC-面向对象->类和对象

        本文链接:https://www.haomeiwen.com/subject/ljjtrttx.html