OC新手学习必备

<span style="font-size:24px;">面向对象编程 oop
面向过程编程 pop
对象是类的实例
//面向过程编程(Procedure Oriented Programming, pop):以事件为中心,关心该事件的详细过程,一步一步实现
//面向对象编程(Object Oriented Programming, OOP):以事物为中心,也就是参数事件的参与者,设计事物的功能,而完成事件只是事物所有功能中的一个小功能
//类 : 具有相同特征和行为的事物的抽象
//类是一个抽象的概念,在生活中不具体
//对象是类的实例,也就是类的具体表现,是具体的,生活的万物都是对象

//如何描述一个类? 通过特征(静态属性)和行为(动态属性,动作 
//NSObject 根类
/**
 *  类的定义分为两部分:
 1,类的接口部分:提供外部访问的接口,相当于使用说明书
 2.类的实现部分: 相当于功能的实现
 */
/**
 *  类的接口部分写在.h文件中。
/**
 *  类的实现部分写在.m文件中
 类的实现部分:
 (1)@implementation开头,@end结束,实现内容必须写在中间才有效
 (2)@implementation 后的 Person 是要实现的类(需要指定要对那一个类做实现)
 */

// 产生原因:geValue:b:c:方法虽然在.h文件中声明,但是没有在.m文件中实现
//解决方案:将该方法在.m文件中实现即可
//类的实现就是实现该类的方法。
 接口部分定义:
 (1)以@interface开头,以@end结束,只有把类的接口定义内容写在开始和结束之间才有效
 (2)Person 类名 
 (3): 冒号表示继承,表示它有父类
 (4)NSObject 父类名 。
 */
@interface Person : NSObject
{
    //实例变量必须写在大括号之内,而且大括号之内只能写实例变量
    
    //对应描述一个类的特征
    //实例变量 类似与结构体中的结构体成员
    NSString *name;//姓名 字符串类型
    NSString *sex;//性别
    NSInteger age;//年龄
}
//OC的方法 对应 描述一个类的行为
//void sayHi();
- (void)sayHi;  //方法名 sayHi

//OC中方法调用,采用消息发送机制
        //[receiver   message],第一个为消息接收者,为类或对象,
        //receiver  消息接收者  -:减号给对象发消息, +:加号给类发消息

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


Person *per = [[Person alloc] initWithName:@"Frank" sex:@"man" age:18];
        [per sayHi];
        Person *cuichengjie = [[Person alloc] init];
        [cuichengjie sayHi];
        Person *cui = [[Person alloc] init];
        [cui sayHi];



- (void)sayHi
{
    NSLog(@"name:%@,sex:%@,age:%ld", name, sex, (long)age);
}
//自己定义一个初始化方法(自定义了一个init方法)
- (id)initWithName:(NSString *)aName sex:(NSString *)aSex age:(NSInteger)aAge
{










产生原因:没有找到给接收者发送的消息(也就是.h文件中没有该方法)
解决方案:查看接收者和对应的消息是否匹配,如果不匹配,改成匹配的,或者在该类添加该方法    -号和+的区别</span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值