@public
1.公开的,公共的,可以在类的内部和外部访问.
2.类的内部:实例变量名
3.类的外部:对象->实例变量名
@protected
1.受保护的,只能在本类和子类中可以访问
2.类的内部:实例变量名
3.类的外部:通过设置器setter和访问器getter访问
@private
1.私有的,只能在本类中可以访问
2.类的内部:实例变量名
3.类的外部:通过设置器setter和访问器getter访问
总:@public 在所有文件均可访问.@protected只能在本类和子类中可以访问@priavte只能在本类中可以访问
设置器 setter
1.setter 一定是对象方法,以-开头
2.返回值一定是void
3.一定以set开头,后跟实例变量名去除_,实例变量名首字母大写.如:setAge
4.一定要有参数,参数类型必须和实例变量的类型一致,参数名为实例变量名去除_
NSInteger _age
-(void)setAge:(NSInteger)age;
访问器 getter
1.getter 一定是对象方法,以-开头
2.一定有返回值,返回值类型和实例变量的类型一致
3.方法名只为实例变量名去除_即可.如:age
NSInteger _age
-(NSInteger)Age;
-----------------------------------------------------------------------------------------------------------------------------------------
封装
目的:为了实现高类聚.低耦合.为了隐藏数据,只能通过此类的方法才可以访问,修改数据.不被外界随意修改,降低误用性.
类聚:模块成员之间的关系程度.
耦合:模块之间的关系程度.
-----------------------------------------------------------------------------------------------------------------------------------------
对象方法 +
在对象方法中能够使用实例对象
对象方法只能由对象调用 [对象名 方法]
类方法 -
在类方法中不能使用实例变量,因为类方法由类来调用.并没有创建储存空间.
类方法只能由类来调用 [类 方法]
类方法的好处:不依赖对象,执行效率高,尽量使用类方法
类方法的场合:方法中不需要实例方法的时候,使用类方法更简洁
-----------------------------------------------------------------------------------------------------------------------------------------
提取方法名
-(void)say:(NSString)name; //方法名为say:
-(void)say:(NSString *)name withCount:(NSInteger)count; //方法名为say:withCount:
去除-(+)
去掉返回值
去掉参数类型和参数名
版权声明:本文为博主原创文章,未经博主允许不得转载。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探