OC第一节总结

面向过程编程 (Procedure Oriented Programming, POP), 以事件为中心, 关心完成事件的详细步骤, 一步一步如何实现
面向对象编程(Object Oriented Programming, OOP), 以事物为中心, 也就是参数事件的参与者, 设计事物的功能, 而完成事件只是事物的所有功能中的一个小功能
类 具有相同特征和相同行为的事物的抽象, 是一个抽象的概念, 在生活中不具体
对象 是类的实例, 也就是类的具体表现, 是具体的, 生活中的万物都是对象
如何描述一个类  特征(静态的属性)和行为(动态属性, 动作)
OC中方法的调用采用消息发送机制 [receiver message]; receiver消息接收者(类或者对象) message消息(方法)
- 实例方法 + 类方法
No visible @interface for "MobilePhone" declares the selector "takePhoto"
产生原因: 没有找到给接收者发送的消息(也就是.h文件中没有该方法)
解决方案: 查看接收者与对应消息是否匹配, 如果不匹配, 改成匹配的, 或者给该类添加该方法
<pre name="code" class="objc">        创建对象分两步
        1 开辟空间
        通过[Person alloc] 在堆区开辟的空间才是真正的对象, 只不过对于指针变量per存储着堆区的地址, 通过它才能访问对象, 所以我们把指针变量per叫做对象(但是真正的对象是堆区空间,per本质上是一个指针变量)
        id可以代表所有的对象类型, 可以用对应类型的对象来接收
        Person *per = [Person alloc];
        2 初始化(赋初值) init方法完成初始化操作 -号方法, 对象调用
        per = [per init];
        通常创建对象操作连起来写

类的定义分为两部分
    1 类的接口部分: 提供外部访问的接口, 相当于使用说明书
    2 类的实现部分: 相当于功能的实现

类的接口部分写在.h文件中
    部分接口的定义
    1 以@interface开始, 以@end结束, 只有把类的接口定义内容写在开始和结束之间才有效
    2 Person 类名
    3 : 冒号表示继承, 表示它由父类
    4 NSObject 父类名
实例变量必须写在大括号之内, 而且大括号之内只能写实例变量
    对应描述一个类的特征
    实例变量 类似于结构体中的结构体成员

OC的方法对应描述一个类的行为

类的实现部分写在.m文件中
    类的实现部分
    1 以@implementation开头 @end结束, 实现内容必须写在中间才有效
    2 @implementation 后的Person是要实现的类(需要指定是要对哪一个类做实现)
警告:
 
<img src="https://img-blog.csdn.net/20140801220159343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdmFlcmNseQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<pre name="code" class="objc">Method definition for 'getValue:b:c:'not fount
产生原因:getValue:b:c:方法在.h文件中声明了, 但在.m文件中没有实现
解决方案:该方法在.m中实现即可
类的实现就是实现该类的方法
错误:
 
<pre name="code" class="objc">产生原因:没有找到给接收者发送的消息(也就是.h文件中没有该方法)
解决方案:查看接收者和对应的消息是否匹配,如果不匹配,改成匹配的,或者在该类添加该方法



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值