• OC 初识NSString,self关键字,继承,成员变量的可见性,description方法


    OC 初识NSString,self关键字,继承,成员变量的可见性,description方法

    初识 NSString:

    char * string = “旭宝爱吃鱼”; 常量字符串存储在静态区
    NSString * string = “旭宝爱吃鱼”; OC对象存储在堆区

    创建NSString对象:

    1、用字面量来创建

    NSString * string = @"旭宝爱吃鱼";
    

    2、通过类方法创建NSString对象

    NSString * format = [NSString stringWithFormat:@"qq %g qq",1.1];
    注意:stringWithFormat NSLog里面的占位符是通用的
    

    3、new不适用NSString

    NSString * new = [NSString new];
    

    4、+alloc -init创建NSString对象

    NSString * initString = [[NSString alloc] initWithFormat:@"%@ 旭宝爱吃鱼",1];
    

    5、将一个C语言字符串,转化成OC对象

    NSString * charString = [[NSString alloc] initWithUTF8String:"旭宝爱吃鱼"];
    

    self关键字:

    1. self是一个指针,在每一个方法中都有一个self指针
    2. self可以出现在所有的方法中(对象方法和类方法)
    3. self指向调用者。(谁调用它就指向谁)
    4. 可以使用self->成员变量 访问成员变量,可以使用[self 方法名]调用方法

    继承:

    继承:子类拥有父类的所有属性,和方法。
    继承的好处:抽取出了重复的代码,减少代码冗余.
    继承的缺点:耦合性太强.

    继承的使用注意:
    • OC中不允许子类和父类拥有相同名称的成员变量名;
    • OC中的子类可以拥有和父类相同名称的方法,在子类调用时,优先去自己的内部寻找,如果没有则一层一层的往上找;
    • 在子类中重写父类的方法,会覆盖父类的方法。
    super关键字:

    super关键字,在子类中重写方法时,可以让调用者跳过这一层而调用父类中的方法。
    使用场景:子类在重写父类方法时,想要保留父类的一些行为。

    成员变量的可见性:

    • @public 公有成员:成员变量可以在本类,子类,外部函数中访问。
    • @protected 受保护成员:成员变量可以在本类,子类,但不能在外部函数访问。如果成员变量没有任何修饰词,默认是protected
    • @private 私有成员:成员变量可以在本类中访问,不能在子类,和外部函数访问。

    注意:在类实现下定义的所有成员变量的可见度,都是@private

    description方法:

    -description方法的默认实现是返回类名和对象的内存地址,这样的话,使用NSLog输出OC对象,意义就不是很大,因为我们并不关心对象的内存地址,比较关心的是对象内部的一些成变量的值。因此,会经常重写-description方法,覆盖-description方法的默认实现。

    比如:

    - (NSString *)description {
        
        NSString * string = [NSString stringWithFormat:@"name = %@ age = %d",_name,_age];
        return string;
    }
    
  • 相关阅读:
    C#中调用Outlook API 发起会议
    Log4Net配置
    web端调用Webapi获取Excel表格
    表格导出之Aspose.Cells
    验证输入框
    把新建的对象所有属性变成默认值
    省市区三级联动
    全局异常处理
    HttpHttpServletRequest / Reponse
    热部署
  • 原文地址:https://www.cnblogs.com/xubaoaichiyu/p/5478567.html
Copyright © 2020-2023  润新知