三.OC基础--1.NSString的创建和使用,2多文件开发,3类方法,4封装

三:OC--1.NSString的创建和使用,

  1,创建常量字符串,注意使用“@“符号。
    NSString *astring = @"This is a String!"; //后面的是常量,前面的是指针变量

  2,NSString *s1 = [NSString new];//没有意义
    s1 [email protected]"jian le ma";

  3、创建字符串的第三种方法
    // 格式化创建字符串(按照指定的格式创建字符串)
    NSString *imgName = [NSString stringWithFormat:@"xxxxxx%02d.jpg",i];

  4、用一个已经存在的字符串创建一个新的字符串
    NSString *s2 = [[NSString alloc] initWithString:s1];

  5.NSString长度计算方法.
    NSString *str = @"ban长";
    [str length]; // 4

2多文件开发,

  1、为什么要使用多文件?
    在开发当中实现的功能一般会比较复杂, 所以会将类分成声明(.h文件)和实现(.m文件)部分,
    在.h文件中写:成员变量和方法的声明, 在.m文件中写:成员变量和方法的实现.
    这样写大大提高开发效率, 提高代码的维护性.

3类方法,

  一. 特点:
  1. 以加号( + )开头,
  2. 调用格式: [类名 方法名]

  二. 注意事项:
  1. 类方法可以和实例方法同名, 相互之间互不影响

  2. 类方法可以从父类继承而来,子类可以重写类方法 // ,如description类方法

  3. 类方法和实例方法一样在interface里声明, 在implementation里实现。

  4. 类方法由类名调用, 实例方法由对象调用。

  5. 在类方法里使用了self, self指代的是调用者类

  6. 在类方法中不能使用类的成员变量

  7. 类方法和对象方法之间不能使用self 相互调用

  总结self : 谁调用当前方法, self就代表谁

  三. 类方法和对象方法的比较
  1. 对象方法以减号开头, 可以使用成员变量
  2.类方法以加号开头,不能使用成员变量

  四. 类方法使用场景
  如果我们调用一个方法,该方法中不需要使用成员变量,那么我们可以将该方法声明为类方法

  五. 匿名对象
  匿名对象的使用场景: 当对象的方法只调用一次时,可以使用匿名对象来完成。

  匿名对象优缺点 :
  优点: 可以简化代码,方便方法调用;节省内存空间
  缺点: 匿名对象实例化以后,只能正确的使用一次成员变量;

4封装

  一. 什么是封装:
  1. 封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

  二. 封装的好处:
  1. 将变化隔离。(不管里面怎么变,使用者不需要知道)
  2. 便于使用。(使用者只需按照一定的方法使用就可以了)
  3. 提高重用性。(任何人都可以对已封装好的功能进行操作)
  4. 提高安全性。(由于暴露给使用者的只是一些外在的操作环节,而不是里面本质的东西,所以就提高了对他的维护性,也就是安全性)

  三. 封装的原则:
  1.将不需要对外提供的内容都隐藏起来。
  2.把属性都隐藏,提供公共方法对其访问。

  四. setter方法的实现
    set方法的书写规范:
      1) set方法一定是一个对象方法
      2) set方法一定不能有返回值
      3) set方法必须以set开头
      4) set之后跟的是 实例变量去掉下划线,并且首字母大写
      5)set方法一定有参数,而且参数的类型和实例变量的类型一致
      6) set方法的形参名 一般是 去掉下环线的实例变量名
      7)形参名不能和 实例变量名同名
      8) set方法实现中,一定要用形参给实例变量赋值

    成员变量: int _age; 的setter方法
    -(void)setAge:(int)age{

      _age = age;
    }

   get方法书写规范:
    1) get方法一定是一个对象方法
    2) get方法一定有返回值,返回值的类型和实例变量的类型要一致
    3) get方法的方法名 是去掉下环线的实例变量名
    4) get方法一定没有参数
    5) get方法的实现中,一定是返回实例变量值

  成员变量: int _age; 的setter方法
    -(int)age{
      return _age;
    }

时间: 2024-08-05 03:55:19

三.OC基础--1.NSString的创建和使用,2多文件开发,3类方法,4封装的相关文章

OC基础笔记目录

OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象的存储细节 函数与方法对比 常见错误 OC基础(4) NSString 类介绍及用法 结构体成员变量 对象和方法之间的关系 对象作为方法的参数连续传递 OC基础(5) #pragma mark指令 OC多文件开发介绍 匿名对象

黑马程序员---OC基础2【对象储存】【函数和方法的区别】【方法和对象关系】【对象作为方法参数】【NSString类介绍】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [对象储存] 1.对象的储存细节 [Car  new] new做了3件事 1)向计算机申请存储空间 2)给类中的每一个成员初始化值 3)返回新申请的空间的首地址 (1).申请的空间在内存的哪个区? new 的时候申请的空间内存的堆区(程序动态分配的内存空间) 当new内存的布局: 初始化的时候: 如果实例变量是基本数据类型,此时给初始为0, 如果是字符串类型此时初始化为null (2).实例变

oc基础 不可变字符串的创建和使用

oc基础  不可变字符串的创建和使用 简介:下面都是字符串基本用法. 1.字符串的创建 //创建oc常量字符串 NSString *str=@"hello world!"; NSLog(@"%@",str); //用c语言的字符串来创建oc的字符串 char *ch="hello world C"; NSString *str2=[[NSString alloc] initWithUTF8String:ch]; NSLog(@"%@&q

黑马程序员---OC基础9【Foundation框架】【NSString介绍】【NSURL读写字符串】【NSString字符串比较】【NSString前后缀检查及搜索】【NSRange使用】

------- iOS培训.Android培训.Java培训.期待与您交流! ---------- [Foundation框架] 1.Foundation框架介绍 1)Foundation框架概念 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合 以便使研发程序变得 更容易在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation 框架 2)Foundation框架的作用 Foundation框架是Mac\iOS中其他框架的基础 Foundat

OC系列foundation Kit基础-NSString

一NSString常见创建方法 二两个字符串比较 1.两个字符串是否相等 2.比较两个字符串 3.字符串截取操作 一个字符串中是否含有另一个字符串

oc基础知识(转)

1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouch Media Core Services Core OS -------------------- System Framework OC的类声明,定义域 OC关键字定义为  @class O-C特有的语句for(..in ..)迭代循环,其他的条件和循环语句和c一样 OC对面向对象的概述 (1)

黑马程序员--oc基础第十篇(foundation框架下、集合)

十 . oc基础(Foundation框架下) 1.下面介绍几种OC对象类型的存储结构:NSArray,NSDictionary,NSSet,以及基本数据类型封装类. NSNumber:*既然这几种数据结构都是用来存放对象类型的那么基本数据类型想要放入其中就要先对他们进行封装.使用NSNumber对基本数据类型进行封装. // // Created by keeganlee on 15/3/2. // Copyright (c) 2015年 keeganlee. All rights reser

IOS开发复习笔记(1)-OC基础知识

在上班之余学习IOS已经有三个多月了,因为基础有些薄弱从OC的基本语法开始学习的,相继看了青柚子和红柚子的书,现在在看编程实战,趁这个机会好好的总结一下: 1.命名约定 对象类型和名称一致,以免混淆 -(void) setURL:(NSString *)URL;//错误的命名方法 //更改为 -(void)setURLString:(NSString *)string; -(void)setURL:(NSURL *)URL; 静态变量(包括作用域)以s开头,而全集变量采用g开头,在通常情况下应避

OC基础 可变字典与不可变字典的使用

OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"huang",@"name",@"30",@"age", nil]; NSLog(@"%@",