oc-14-对象方法调用类方法-阿里云开发者社区

开发者社区> 范大脚脚> 正文

oc-14-对象方法调用类方法

简介:
+关注继续查看

Person.h

复制代码
#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    @public
    int _age;
    
    float _weight;  // 运动1次,就去吃饭.
}
// 让人运动
- (void)sport;

// 让人吃
- (void)eat;


// 让人运动
+ (void)sport;

// 让人吃
+ (void)eat;


//对象方法
- (void)study;

//类方法
+ (void)study;


@end
复制代码

Person.m

复制代码
#import "Person.h"

@implementation Person
// 让人运动
- (void)sport
{
    NSLog(@"这个人运动--对象方法");
    
    // 在对象方法当中调用类方法
    [Person eat];
}

// 让人吃
- (void)eat
{
    NSLog(@"这个人吃东西--对象方法");
}

// 让人运动
+ (void)sport
{
    NSLog(@"这个人运动--类方法");
    
    // 在本方法中,不能用self调用自己的方法.会死循环.
    [self sport];
}


// 让人吃
+ (void)eat
{
    NSLog(@"这个人吃--类方法");
}

//对象方法
- (void)study
{
    NSLog(@"%d年龄的人学习--对象方法",_age);
}

//类方法
+ (void)study
{
    NSLog(@"类方法");
}

@end
复制代码
复制代码
/**
 类方法:由类调用的方法
 
 1.类方法的局限性:
   不能访问成员变量.
 
 2.类方法的优势:
   不依赖对象.不占用内存空间.节约内存可以不创建对象。
 
 3.对比对象方法和类方法
 1)格式:
 对象方法: - (返回值类型)方法名:(参数类型)参数名称;
 类方法:   + (返回值类型)方法名:(参数类型)参数名称;
 
 2)调用者
 对象方法:必须创建对象,由对象来调用.
 类方法:不依赖于对象,由类直接调用.
 
 练习:设计1个计算器,有加法\减法\乘法\除法,用类方法不依赖于对象.
 
 
 报错信息:
 unrecognized selector sent to class 0x1000046c8 某个方法找不到.
 */
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5308377.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[C#]如何访问及调用类中私有成员及方法
原文:[C#]如何访问及调用类中私有成员及方法 本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢! 开发工具:VS2017 语言:C# DotNet版本:.
960 0
学习zepto.js(对象方法)[2]
今天来说下zepto那一套dom操作方法, prepend,append,prependTo,appendTo,before,after,insertBefore,insertAfter; 按着从内到外,从主到从,从前到后的顺序来说这八个方法.
650 0
学习zepto.js(对象方法)[1]
zepto也是使用的链式操作,链式操作:函数返回调用函数的对象. 但并不是所有的对象方法都可以进行链式操作,举几个例子:.size(),.html()|.text()//不传参数的情况下; 若非特殊说明,下边介绍的方法都会返回zepto对象; add(): 支持一到二个参数,第一个为选择器,...
766 0
Rtti 单元(2)调用类的方法, 读写属性值
通过 Rtti 还能够调用一个类的方法, 也能读取或设置其属性值. unit Unit1;  interface  uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Co...
651 0
学习zepto.js(对象方法)[4]
今天说说那一套获取元素集合的一些方法: ["children", "clone", "closest", "contents", "empty", "eq", "filter", "find", "first", "get", "has", "last", "not", "parent", "parents", "siblings"] children: 获取对象的所有匹配的直接子元素.
679 0
学习zepto.js(对象方法)[3]
继续说zepto里attributes的相关操作. attr,removeAttr,prop这三个方法. attr(): 三种用途 get: 返回值为一个string字符串 $("").
809 0
+关注
3656
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载