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 某个方法找不到.
*/
oc-14-对象方法调用类方法的更多相关文章
- Objective-C学习笔记(十九)——对象方法和类方法的相互调用
事实上在OC的对象方法(减号方法)和类方法(加号方法)并非相互独立的,它们也能够发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题.该样例还是以People类为基础. (一)对象方法调用类方法 ...
- Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
在程序设计中,函数的使用无疑大大简化了代码的编写.提高代码执行的效率.降低反复代码. 所以如今我们来具体研究一下方法. 本样例还是以People类为例. (一)代码一: (1)先在People.h中声 ...
- iOS对象方法和类方法的区别与调用方式
作为一个iOS程序员初学者,会搞不清楚对象方法和类方法的区别 -(void)duixiangfangfa ; +(void)leifangfa; - 代表实例方法,它在类的一个具体实例范围内执行,也就 ...
- 分析 js构造函数:对象方法 、类方法 、原型方法
构造函数方法有对象方法.类方法.原型方法,这些方法在什么时候可以调用,什么时候不能调用,为什么? function Func(name){ this.name=name; this.ff=functi ...
- Objective-C 类,实例成员,静态变量,对象方法,类方法(静态方法),对象,
Objective-C 类,实例成员,静态变量,对象方法,类方法(静态方法),对象, 一.类 在ios中,类的声明和实现时分离的,也就是说不能写在同一个文件中,声明放在 .h文件中,实现放在 .m 文 ...
- js 对象方法、类方法、原型方法的区别;私有属性、公有属性、公有静态属性的区别
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- day 23 二十三、对象方法,类方法,封装,绑定方法
一.对象的特有名称空间 __init__方法会在实例化对象时被调用 1.会为实例化的对象形成空的名称空间 2.就是一个方法,可以被传参,在类名(实参)这种方式下调用并传参 __init__(self ...
- python--类中的对象方法、类方法、静态方法的区别
1.对象方法:顾名思义,是对类实例化后的对象有效的,由对象调用 2.类方法:第一个参数是cls(当前类),是对当前类做的额外的处理,类方法需要用类去调用,而不是实例对象调用 3.静态方法:没有参数!没 ...
- 对象方法、类方法、原型方法 && 私有属性、公有属性、公有静态属性
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
随机推荐
- Window.onLoad 和 DOMContentLoaded事件的先后顺序
相信写js的,都知道window.onload吧,但是并不是每个人都知道DOMContentLoaded,其实即使你不知道,很有可能你也经常使用了这个东西. 一般情况下,DOMContentLoade ...
- VS2010安装EntityFramework5.0
EntityFramework 当前最新版本是6.0,2012年10月份发布,不过是alpha1版本,稳定版本是8月份发布的5.0版本,对于初学者来说,还是别在测试版上折腾了,先学习稳定的5.0版本, ...
- U盘安装RedHat 5.3
转载自http://www.cnblogs.com/totozlj/archive/2012/06/03/2532757.html 1.下载rhel-5.3-server-i386-dvd.iso文件 ...
- IDEA使用docker进行调试
背景 手头有个任务,需要用java通过jni调用一个开源算法库gmssl的功能,但是gmssl只提供了源码,需要编译后才能使用.按照通常的做法,我们会部署好centos的虚拟机和开发环境,安装好gms ...
- 扩展UIColor类
在开发中,UI给出的颜色值有时候是十六进制的,有时候给出的是RGB(255,255,255)这样的形式的,而iOS系统提供的方法中并没有直接传递这两种值返回UIColor对象的,这里自己封装了一个以便 ...
- js运动 九宫格展开
<!doctype html> <html> <head> <meta charset = "utf-8"> <title&g ...
- 深刻理解Python中的元类metaclass(转)
本文由 伯乐在线 - bigship 翻译 英文出处:stackoverflow 译文:http://blog.jobbole.com/21351/ 译注:这是一篇在Stack overflow上很热 ...
- Dependency Injection学习笔记
component把需要依赖者(CoffeeMaker)和供应提供者(Heater, Pump)联系起来 使用 区别:上的的依赖是内部创建的,下面的依赖是外面传进来的 注入方式
- Java断言assert
public class Welcome{ public static void main(String[] args){ assert false; System.out.println(" ...
- [iOS微博项目 - 3.4] - 获取用户信息
github: https://github.com/hellovoidworld/HVWWeibo A.获取用户信息 1.需求 获取用户信息并储存 把用户昵称显示在“首页”界面导航栏的标题上 ...