OC—类的设计和NSString

经过前一段时间C语言 的学习,从这周开始正式步入OC的学习

OC中类的定义:同一类事物的抽象,对象则与之相反,是抽象的类的具体化。

OC中定义属性字段时通常在元素前面加上_如

  NSString * _name;
    int _age;
    BOOL _sex;

未经声明的变量一般为受保护的变量,无法被外界访问,在OC中存在如下三种修饰符

默认为被保护的(protected: 意味着只能够本类或者子类可以访问)

私有的(private: 只能够本类访问)

共有的(public: 所有的类都能够访问)

在某一修饰符后面定义的变量即具有对应的属性。

OC中的构造方法一般以init开头,一般返回id类型(id类型是万能的对象类型),一般初始化的时候命名初始化方法(构造方法)为

-(id)initWithName:(NSString *)name andAge:(int)age

实现的时候一般为

-(id)initWithName:(NSString *)name andAge:(int)age{
    self = [super init];
    if (self) {
        self.name = name;
        self.age = age;
    }
    return self;
}

OC中同样和java和C#一样有与元素对应的get和set方法,但是在OC中我们使用成员变量名(不要下划线)为方法命名,这对我们调用方法提供了一种简便的理解方式。例子如下:

-(void)setName:(NSString *)name;
-(NSString *)name;
-(void)setAge:(int)age;
-(int)age;

OC中将类的方法分为类方法和对象方法,类方法在定义时以+开头,对象方法以-开头。对象方法必须在用声明的对象使用,类方法可以由类直接使用

NSString类:

NSString 类类似于C语言中的char *类型。但是它变得更灵活了

NSString声明和初始化:

        NSString * str = @"123456989834348";

学习NSString主要是对其几个方法的灵活使用

例子如下

1.返回字符串的长度
    NSUInteger len = [str length];
2.返回单个字符
    unichar c = [str characterAtIndex:3];
3.比较两个字符串的大小关系
    BOOL ret = [str1 isEqualToString:str2];
    NSComparisonResult ret2 = [str1 compare:str2];
4.查找子串的位置和范围
    NSRange range = [str rangeOfString:@"粉刷"];
5.子串的提取
    NSString * subStr1 = [str substringToIndex:5];
    NSString * subStr2 = [str substringFromIndex:5];
    NSString * subStr3 = [str substringWithRange:range];

从NSString延伸到可变的字符串NSMutableString,NSMutableString 继承自 NSString,它拥有NSString的所有方法,并且增加了自己特有的方法。如下

1.重置字符串内容
    [str setString:@"0123456789"];
2.增 append  insert
    [str appendString:@"9876543210"];
    [str appendFormat:@"%d %c %.2f", 34, ‘T‘, 2.34];
    [str insertString:@"ABC" atIndex:3];
3.删 delete
    [str deleteCharactersInRange:range];
4.改 replace
    [str replaceCharactersInRange:range withString:@"XXXXXXXXXXXXXXX"];
5.查 rangeOfString:
时间: 2024-08-25 04:38:16

OC—类的设计和NSString的相关文章

OC类的设计

//Objective-C面向对象的C语言. //OC完全兼容C,凡是C语言代码可以直接编译在OC的工程当中. [面向过程的语言]都是祈使句,直接和CPU沟通.目的是操作CPU,储存数据,管理数据. //数学逻辑,就像小学解应用题,关注的是数据和管理数据. [面向对象的语言]在程序中,添加能够接收消息的单元(对象),每个单元拥有自己的功能,各单元合作,完成程序. //应用程序都是用(面向对象的语言编程)(OOP)的 //面向对象没有具体的官方定义.早期只使用[继承][封装][多态]编写程序的思想

OC——类

1.Objective-C是C语言的超集,完全兼容C语言 2.所有的关键字都以“@”开头,例如:@interface,@class,@implementation 3.Objective-C的所有对象必须继承于NSObject,并且不存在多继承 4.Objective-C支持协议,支持多态 5.Id类型 类似泛型对象,void* 类似任意的指针类型 “-”表示对象方法 “+”表示类的方法 一:类的定义 ◆ .h文件:存放类和声明方法 声明使用 @interface 开头 @end 结尾 #imp

OC类与对象实例化,类之间的方法调用小题目

两个OC类与对象实例化题目 要求: * 类名.属性名.属性类型.方法名.方法参数.方法返回值自拟 * 自己写main函数测试设计是否合理 /* 1.设计一个"狗"类 1> 属性 * 颜色 * 速度(单位是m/s) * 性别 * 体重(单位是kg) 2> 行为 * 吃:每吃一次,体重增加0.5kg,输出吃完后的体重 * 吠(叫):输出所有的属性 * 跑:每跑一次,体重减少0.5kg,输出速度和跑完后的体重 * 比较颜色:跟别的狗比较颜色,如果一样,返回YES,不一样,返回NO

【IOS学习基础】OC类的相关

几天前突然在别人的类的.m文件中看到这么一句代码:@synthesize xxxx = _xxxx; 当时愣是没理解啥意思,过后才缓过神来发现原来是把一些类的基础知识忘记了,虽然不用过多去深究以前的一些旧东西,但但是既然遇到了,还是复习一下. 一.类与对象 1.类:类是定义同一类所有属性和方法的蓝图或原型. 2.对象:用来描述客观事物的一个实体,由具体的属性和方法构成. 3.类与对象的关系:类是用来制作无数实体(对象)的工程图纸. 4.类的特征:属性 5.类的行为:方法 二.封装 1.类就是封装

《黑吗程序员》OC的认识和第一个OC类

面向对象和面向过程的区别 ① oc是面向对象 ② c是面向过程 ③  面向对象和面向过成只不过是解决问题的两种不同的思路 ④  面向过程只不过是考虑问题解决的步骤,面向对象只不过是考虑解决问题需要的对象. OC 类的认识      类的设计必须关心三样事物: ① 类名 ② 属性 ③ 行为 类名:所有的名词都是类名,且类名的第一个字母必须大写. 如果类名有多个名词,要使用驼峰标示. 属性:代表这个类在创建出来所拥有的的属性. 行为: 这个类所拥有的功能. 类的创建 // 类的声明 @interfa

OC类的继承以及类的循环调用

一, 关于OC的实例变量的可见度,即实例变量的访问权限有三种: 1),@public           公有的 被@public修饰的实例变量是公共的,即没有访问权限,在任何文件中都可以访问,(访问方式是通过对象+指向操作符) 2),@protected    受保护的 被@protected修饰的实例变量有一定的访问限,只允许在本类文件及子类文件中访问,其他文件不可访问 3),@private         私有的 被@private 修饰的实例变量,只允在在本类文件中访问,不可以在子类文

OC面向对象之第一个OC类

在学过java.c++这样语言之后,再来学习OC语言,虽然也同样是面向对象的语言,但是OC语言仍然给我们一种很"怪异"的感觉.这主要是由于OC语言本身有着它独特的命名和使用方法.总结java语法和OC语法的使用,我们会发现其实还是有很多规律可循的.下面就总结了OC类的一些特性. 一.关于OC类 1.oc中一般用两个文件描述一个类,与java是不同的. 2.后缀.h文件是类的声明文件,用于声明成员变量.方法.使用关键字@interface和@end; 而且.h文件只作声明,并没有对类的方

Objective-C - 类的设计实例

类的设计 1.类的设计: 1> 类名 * 类名的第一个字母必须是大写 * 不能有下划线 * 多个英文单词,用驼峰标识 2> 属性 3> 行为(功能) 2.植物大战僵尸的僵尸 * 类名:Zoombie * 属性:life.speed.gongjili * 行为:walk.bite.die 3.雷电的飞机 * 类名:Plane * 属性:life.gongjili.speed.bombCount * 行为:fly.bomb.shoot.die 4.电脑 * 类名:Computer * 属性:

第一个OC类、解析第一个OC程序

01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 • 八.访问公共成员变量和方法说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题.OC是一门面向