类的概念,定义,实现

//面向过程编程 (Procedure Oriented Programming, POP), 以事件为中心, 关心完成事件的详细步骤, 一步一步如何实现
//面向对象编程(Object Oriented Programming, OOP), 以事物为中心, 也就是参数事件的参与者, 设计事物的功能,
//而完成事件只是事物的所有功能中的一个小功能
//类 具有相同特征和相同行为的事物的抽象, 是一个抽象的概念, 在生活中不具体
//对象 是类的实例, 也就是类的具体表现, 是具体的, 生活中的万物都是对象
//如何描述一个类  特征(静态的属性)和行为(动态属性, 动作)
//OC中方法的调用采用消息发送机制 [receiver message]; receiver消息接收者(类或者对象) message消息(方法)
//- 实例方法 + 类方法

/**
 *  类的定义分为两部分
    1 类的接口部分: 提供外部访问的接口, 相当于使用说明书
    2 类的实现部分: 相当于功能的实现
 */
/**
 *  类的接口部分写在.h文件中
    部分接口的定义
    1 以@interface开始, 以@end结束, 只有把类的接口定义内容写在开始和结束之间才有效
    2 Person 类名
    3 : 冒号表示继承, 表示它由父类
    4 NSObject 父类名
 */
@interface Person : NSObject
{
    //实例变量必须写在大括号之内, 而且大括号之内只能写实例变量
    //对应描述一个类的特征
    //实例变量 类似于结构体中的结构体成员
    NSString *name;//姓名
    NSString *sex;//性别
    NSInteger age;//年龄
}
//OC的方法对应描述一个类的行为

/**
 *  类的实现部分写在.m文件中
    类的实现部分
    1 以@implementation开头 @end结束, 实现内容必须写在中间才有效
    2 @implementation 后的Person是要实现的类(需要指定是要对哪一个类做实现)
 */

//Method definition for 'getValue:b:c:'not fount
//产生原因:getValue:b:c:方法在.h文件中声明了, 但在.m文件中没有实现
//解决方案:该方法在.m中实现即可
//类的实现就是实现该类的方法
@implementation Person
- (id)initWithName:(NSString *)aName sex:(NSString *)aSex age:(NSInteger)aAge {
    //为自己的实例变量赋值
    name = aName;
    sex = aSex;
    age = aAge;
    return self;//self 谁调用该方法self就是谁
}

        //创建对象分两步
        //1 开辟空间
        //通过[Person alloc] 在堆区开辟的空间才是真正的对象, 只不过对于指针变量per存储着堆区的地址, 通过它才能访问对象, 所以我们把指针变量per叫做对象(但是真正的对象是堆区空间,per本质上是一个指针变量)
        //id可以代表所有的对象类型, 可以用对应类型的对象来接收
//        Person *per = [Person alloc];
        //2 初始化(赋初值) init方法完成初始化操作 -号方法, 对象调用
//        per = [per init];
        //通常创建对象操作连起来写

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值