黑马程序员_类方法和对象方法的总结

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------
 

类方法和对象方法的总结:

    类方法和对象方法很像,并且函数除了类型前面有点区别,其他都基本上一样。类方法是类型前加一个“+”,而对象方法则是前面加一个“-”,他们之间很像但是又有很大区别。首先使用的时候,如果方法中不需要成员变量的话,可以使用类方法来处理;反之用对象方法处理。在main函数中,对象不能调用类方法,而类也不能调用对象方法。我们看起来类更像一个工具。可是他们的优势又是什么呢?类方法可以使程序的效率更高,因为不需要创建对象,所以不用浪费内存,运行更快。而对象方法则可以使用成员变量,比工具使用面更广,看用户需求决定用对象方法还是类方法。

 

 

@interface JiShu : NSObject	// 声明类方法和对象方法(注意"-"和"+")

+ (int)sumOfNum1 : (int)num1 andNum2 : (int)num2;

- (int)averageOfNum1 : (int)num1 andNum2 : (int)num2;

@end


@implementation JiShu		// 类方法和对象方法的实现

+ (int)sumOfNum1 : (int)num1 andNum2 : (int)num2 // 注意:类方法不能使用实例变量
{

	return num1 + num2;
}

- (int)averageOfNum1 : (int)num1 andNum2 : (int)num2
{
	return num1 + num2;
}

@end


int main()
{
	
	[JiShu sumOfNum1 : 10 andNum2 : 20];
	
	[JiShu averageOfNum1 : 10 andNum2 : 20];	//错误,类不能调用对象方法
	
	JiShu *p = [JiShu new];
	
	[p averageOfNum1 : 10 andNum2 : 20];
	
	[p sumOfNum1 : 10 andNum2 : 20];		//错误,对象不能调用类方法
}


 

 

 

(强调) 需要注意的地方:

1、类方法可以调用类方法。
 
2、类方法不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法。
 
3、类方法不可以使用实例变量。类方法可以使用self。
 
4、类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。
 
与类方法相比,对象方法基本上没有什么限制:
 
1 对象方法可以引用对象变量,也可以引用类变量
 
2 对象方法中可以调用类方法
 
3 对象方法中可以使用super关键字。

 

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值