史上oc最全总结

这篇博客详细介绍了Objective-C编程的核心概念,包括面向对象编程、结构体、封装、继承、多态,以及类、方法、属性、实例变量的使用。还探讨了setter和getter的规则、初始化方法、内存管理、集合类如字典和数组的使用,以及日期时间的处理。此外,博客强调了封装的重要性,以及如何通过方法封装简化代码并提高安全性。
摘要由CSDN通过智能技术生成

1,OOP 面向对象编程

2,结构体 结构体名 {

              变量名

};

3,封装 继承  多态  三大特性

4,高内聚 低耦合

5,**枚举** 判断最常用    enum {log  unloosen}用结构体创建对象  多了就是一个类

6,延展 类方法作用:保证

7,结构体三大要素:类型名 变量名 初值

8,类[特征 行为{返回值 方法名 行参}]

9,函数写法  * 传值和传址(参考博客)

10,行参是个条件

11四个可见度  (public  private  protected  package(程序包,只在库内使用 外部开发者调用无效))


public 实例变量可以在类的外部和内部操作   p -> _hobby = @“听⾳乐、看电影”;

 protected        实例变量只能在该类和其⼦类内操作

 private                  实例对象只能在该类内访问


@interface Person : NSObject 

 @public 

 NSString *_hobby; //兴趣

 @protected 

 NSString *_name; //姓名

 int _age; //年龄 

 @private

 NSString *_sex; //性别 

}



 12¥¥¥¥关键词¥¥¥¥

类  object 父类 变量class isa  deprecated 废弃的

对象People *p

成员变量    初始化后的变量name p 等

实例方法 

类方法

属性 public private  protected  package 外部提供的接口 不使用public原因:是否需要进行初始化

延展

类目


13 在OC⾥,为实例变量赋值的⽅法称作setter (设置器)。 

读取实例变量值的⽅法称作getter(访问器)。

OC⾥规定了setter和getter的书写格式。 如果⼀个实例变量是int age;或者int _age; setter的书写格式如下:- (void)setAge:(int)age;即set+⾸字⺟⼤ 写的实例变量名(忽略下划线)。 getter的书写格式如下: - (int)age;即返回值类型与变量类型⼀ 致,⽅法名与实例变量名相同(忽略下划线)

 14  为什么不使用@public 是否需要初始化赋值 避免使用时外部的二次修改

15  ⽆论setter还是getter内部操作的是实例变量 每⼀个实例变量都需要⼀对setter和getter⽅法。

(setter 方法)***

封装1,初始化方法时必须给定的变量(即系统给定的 例如initwithfram)

      2,给使用者安全(提供尽量少的外部接口   包括两部分 属性和方法)

      3,简化代码(重用性强)

16  id  任意类型的指针对象

17  instancetype  实例类型    涉及具体类型的转换,耗时

18  import  拷贝代码

19  ¥¥¥。h引用同文件   两个类文件之间的循环引用 @class A(声明有这么一个类叫A,但是不知道这个类存不存在) 在。m 中不存在循环使用的问题¥¥¥   但是协议除外,因为协议没有。m文件

20 方法的功能使用,假如一个方法的多次使用,即把该方法单独提取出来

21 实例变量:已经初始化过后的对象

     对象:是一个类的指针(实例)变量

    类

    实例化方法 (-)

    类方法  (+)

    成员变量

    属性:外部提供的接口 @property(nonatomic)NSInterger age


     类目

     延展

     协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值