OC基础 - 04 类与对象

OC基础 - 04 类与对象


1.类和对象的基本概念

  • OC中的类,我们可以把它理解为一个模版,统称,或者用来描述一类事物的称呼,而OC中的对象我们则可以理解为拥有类的某些具体特征的单个事物,我们一般称OC中的对象为某一个类的实例对象
  • 举例说明类和对象的关系:
    • 人是一个类,那么有个叫张三的人就是一个人类的实例对象对象
    • 电脑是一个类,那么每个单独的苹果电脑就是一个电脑的实例对象
    • 汽车图纸是一个类,我们通过一个图纸建造的一辆车就是一个对象

2.类的设计

  • 对象是基于类而存在的,我们想要创建一个对象,就必须先有一个类
  • 我们日常生活中描述事物无非就是描述事物的一些特征
    • 如:人有身高,体重等属性,有走路、吃饭、说话等行为

      事物名称(类名):人(Person)
      属性:身高(height)、年龄(age);
      行为(功能):走路(walk)、吃饭(eat)、说话(talk);

  • OC中用类描述事物也是如此:

    • 属性:对应类中的成员变量
    • 行为:对应类中的成员方法
  • 定义一个类其实就是在定义类中的成员(成员变量和方法)


3.类的分析

  • 一般名词都是类

    • 老王在屋子里看电视(分析这句话中的类)

      老王是一个类
      屋子是一个类
      电视是一个类

    • 程序猿早起赶公交车去公司上班

      程序猿
      公交车
      公司

  • 拥有相同(或者类似)属性(状态特征)和行为(有什么功能)的对象都可以抽象为一个类
    图片

4.第一个OC类

  • 创建新的OC类,在工程文件处点击鼠标右键选择new file或者使用快捷键Command+N可以快速创建一个新的文件

这里写图片描述

  • 这里我们仍然选择OS X,选择Source源文件,然后选择Cocoa Class,点击下一步即可创建一个类

这里写图片描述

  • 在Class中命名你要创建的类,在Subclass of中选择NSObject基类,代表创建的类继承基类,语言选择OC,点击下一步

这里写图片描述

  • 这样就成功创建了一个Person类了

这里写图片描述


5.类的声明和实现

  • 类的声明Person.h
@interface Person : NSObject //Person是类名,NSObject是基类,OC中的类一般都是继承基类的
{//成员变量声明
int age;
float height;
NSString *name;
}
// 声明类的方法
-(void)eat;
+(void)walk;
@end
  • 注意:

    • 必须以@interface开头,@end结尾
    • 成员变量的声明,必须写在@interface与@end之间的大括号中
    • 方法的声明必须在{}下面,不能写在{}中
  • 类的实现Person.m

@implementation Person
-(void)eat{
// 具体方法的实现
}
-(void)walk{
// 具体方法的实现
}
@end
  • 注意:
    • 必须以@implementation开头,@end结尾
    • 类名必须和声明的一致

6.如何创建一个对象

  • 使用new方法创建一个新的对象
  • Person *person = [Person new];//其中Person是类名,person是Person类型的指针变量,使用类名调用类的new方法
  • [Car new];

    • 1.在堆内存中开辟了一块新的存储空间
    • 2.初始化成员变量(写在类声明大括号中的属性就叫成员变量,也叫实例变量)
    • 3.返回指针地址
  • OC中的消息机制

  • 使用对象调用方法就是OC中的消息机制
  • OC中调用方法的格式:[类名或者对象名 方法名];

7.对象的注意点

  • 可以通过对象->对象成员(注意声明属性为:@public) 的方式访问对象中的成员
  • 每一个对象中都有一份属于自己的属性
  • 对其中一个对象的成员进行了修改。和另一个对象没有关系
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值