• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Objective-C 类,对象,属性,方法使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.Objective-C and C语言

  •  C语言面向过程的语言 ( 完成一件事件需要哪些步骤 )

  •  Objective - C 面向对象的语言(封装、继承、多态)(通过类创建对象 通过对象 或 对象之间协作 完成我们的需求)

  • Objective - C 是C语言的扩充 同时具有C语言的特性

2.Objective-C 类

  1. 类的定义:Objective-c中将具有相同特性或行为的事物归为一类
  2. 类由两部分组成:声明(关键字:@interface),实现(关键字:@implementation) .h文件中声明 .m文件中实现
  3. 类的继承:
    • 子类继承父类的所有成员变量和方法,Objective-c中只能单继承(只能有一个父类)
    • 子类可以从写父类分方法,从写之后执行子类从写的方法
    • 继承关系是一个树形的关系,所有子节点只能有一个根节点,一个根节点可以有很多子节点
    • 继承格式  :@interface 类名 : 父类名
    • 类成员变量类型:NSString 字符型  NSInteger 整形  CGFloat 浮点型

.h文件 类的声明文件

.m类的实现文件

 

3.OBjective-c 对象

  • 对象的定义:万物且对象,日常生活中我们能看到的事物都能称为对象,类比较抽象,对象是某一具体的实例。
  • 对象的创建需要分配内存空间,对分配的内存空间进行初始化。
  • Person(类)  *Per(对象) [Person alloc](person类调用alloc方法为对象分配内存空间)  init(初始化方法给对象赋值)

  • 通过对象调用方法访问成员变量(Xcode 默认是受保护类型 不能直接访问)

  • 多个参数的方法的调用(setter方法为例)

4.OBjective-c 属性

  • 为了代码的安全性,Xcode默认成员变量是受保护的,要访问成员变量得通过该类的方法间接访问,赋值的方法简称setter方法,取值的方法简称getter方法。
  • 引入属性提高了代码的开发效率,直接将成员变量的steter和getter方法封装好。
  • 属性声明的关键字 @property (封装了steter方法)  @synthesize(封装了getter方法) 开发中@synthesize可以省略不写

    属性的特性:readwrite  readonly  assign  retain  copy  nonatomic 

     assign:默认行为,使用@property NSInteger _age就使用了assign行为,就是给实例变量赋了一个值

     retain:实现了两个功能,一个是保留了赋值时传递的对象,其次是赋值前释放了以前值,使用retain可以实现上面讨论的内存管理的优点,使用时加上 @property (retain)     NSString *_name(在手动管理内存的情况下,被retain修饰的属性都要在dealloc中release一下,是产生对象的类型);

     copy:发送一条复制的消息给被传递的对象,保留它,并释放任何以前的值;

     nonactomic:非原子性,加上后可以提升访问速度,但当两个线程同时修改同一个属性时就会出现问题,在单线程的情况下使用

      atomic:原子性,在多线程的情况下有加锁解锁操作(系统默认是原子性)。

     readwrite:可读写     

     readonly:只读

3.OBjective-c 方法

  • 基本常见的方法(初始化方法 构造器方法 内存释放方法)
  • 方法调用的本质:[receiver message];系统内部会在执行代码的时候,将右侧的方法编译成一个消息(message),发送给左侧的接收者(receiver),从而实现方法的调用.
  • -号方法:动态方法,是实例方法,通过对象进行调用"  - (void)setName  "。
  • +号方法:静态方法,是类方法,通过类惊喜调用"   + (id)studentinitwithFormat:(NSString *)name  "。

方法的格式

 

转自:https://www.cnblogs.com/jacky-wenhui/p/4751086.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始发布时间:2022-07-12
下一篇:
Objective-C 对比学习发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap