zoukankan      html  css  js  c++  java
  • 【OC简介-类和对象】

    OC与C语言相比,体现的是一种面向对象的思想。OC完全兼容C语言

    OC中大多数类前面都有前缀NS,来源于乔布斯NextStep团队,被苹果收购后保留了所有基本语法,合并到Foundation中

    OC语言以.m为文件后缀

    OC中绝对多数类继承自 NSObject  OC是单继承(可以使用协议来达到多继承的效果)

    一、关键字 @ 格式化为对象

    @"Hello, World!"  为字符串对象

    @[@"123",@"234"]; 数组

    @selector() 选择器

    @property 属性

    id  表示任意类型

    二、类

    //声明       person类   继承自  NSObject

    @interface   Person      :      NSObject

    {   //成员变量(有结构体的影子)、全局变量(它就是全局变量) 

       

      NSInteger age;

        NSString *name;

    }

    //实现

    @implementation Person

    @end

    很多情况我们会重写init方法,比如:

    - (instancetype)init

    {

        self = [super init];

        if (self) {

            //做一些事,设定默认值 预设条件

            age = 20;//如果不存在,自动设为0

            name = @"zhangsan";  //常量的赋值方法

            /*

             age = 0;

             name = nil;

             char *s = NULL

             */

            name = [[NSString alloc ]initWithFormat:@"zhangsan"];//一般用这种方法赋值

            NSLog(@"%ld",age);

            NSLog(@"%@",name);

        }

        return self;

    }

     

    三、对象初始化

    Person *per = [[Person alloc]init];

    Person *per = [[Person new];//跟上面效果是一样的

    分配好内存的对象 OC都是自动分配内存,然后将分配好的内存初始化为想要的对象 alloc分配内存  init 初始化

    注意:Person *per1 = per; 这个只是改名或者赋值

    四、对象输出

    对象都用%@输出

    NSLog(@"%@",per);

    五、方法

    格式:

    调用者 返回值  方法名称(带参就有冒号)      参数类型       形参名

     -       (void)      run            :                     (int)        distance;

    调用:

    [对象 方法名]

    [per run];

     

  • 相关阅读:
    Java学习笔记 -StringBuffer & StringBuilder
    Java学习笔记
    java学习笔记 -数组
    关于运放采集电路如何自动切换量程电路
    仪器仪表运放的放大倍数的一些问题
    二极管、三极管和mos管使用总结
    mos管缓启动和防反接电路原理
    关于产生负电源电路
    可靠性测试之画pcb
    AD软件pcb电路板各图层的理解
  • 原文地址:https://www.cnblogs.com/zhuimengfire/p/4414295.html
Copyright © 2011-2022 走看看