黑马程序员——OC类方法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------



1、类方法概述 

          实例方法就是一个方法,它在类的一个具体实例的范围内执行。也就是说,在你调用一个实例方 法前,你必须首先创建类的一个实例。 

       而类方法,比较起来,也就是说,不需要你创建一个实例。 +表示类方法,就是类调用方法,不依赖与任何对象的方法。 -表示是实例(对象)方法,只能是对象可调用,依赖与任何对象的方法。 



2、类方法的调用 

[类名称 类方法名称]; 

3、类方法使用注意事项: 

1)类方法可以和实例方法同名,这个并不影响使用,实例方法由实例对象访问调用,类方法要通 过类里访问调用,不会有交叉相互影响。

声明程序: 

//声明对象方法
-(int)add:(int)num1 andNum2:(int)num2;
//声明类方法
+(int)add:(int)num1 andNum2:(int)num2;
调用程序:

        //通过cal对象调用其对象方法
        int result=[cal add:32 andNum2:11];
        //通过类名调用类方法
        result= [Caculator add:22 andNum2:32];


 2)类方法也可以是从父类继承而来,子类可以重写类方法,如description类方法就可以在子类 里重新定义这个方法。

 3)类方法和实例方法一样在interface里声明,在implementation里实现。

 4)类方法只能被类调用执行,向实例对象发送类方法是不能被触发执行的。

 5)在类方法里使用了self,这个self执行的类对象class object而不是实例对象instance object。 

4、类方法的优点: 

1)节省内存空间 

2)提高了效率 

3)作为工具方法 

5、类方法的易犯错误 

1)在类方法中使用了类的成员变量 (在类方法中不能使用实例变量)。

在图中所示的方法是错的,程序会报错。若要使用,采用传参数的方法可以解决。


6、类方法与对象方法比较 

1)对象方法:以-号开头,可以使用成员变量,用对象调用对象方法 对象方法可以调用当前对象或者其他对象的方法(是通过将对象作为参数传入方法)如下 :

----- 调用当前对象的其他方法 

//通过类方法实现求两个数的平均值
-(float)avg:(Caculator *)caculator{
    //调用对象方法计算两个数的和
    return [caculator sumNum1:caculator->_num1 andNum2:caculator->num2]/2.0f;
}

---- 调用其他对象的方法 

<span style="font-size:12px;">@implementation Person
   //在人的对象方法中,调用狗的对象方法
-(void)feedDog:(Dog *)dog{
    [dog eat:@"包子"];
}

@end</span>


----- 对象方法可以调用类方法 

//通过类方法实现求两个数的平均值
-(float)avg:(Caculator *)caculator{
    //调用类方法计算两个数的和
    return [Caculator sumNum1:caculator->_num1 andNum2:caculator->num2]/2.0f;
}

2)类方法:以+开头 不可以使用成员变量 。

--- 用类名调用类方法 

//通过类方法实现求两个数的平均值
+(float)avg:(int)num1 andNum2:(int)num2{
    //调用类方法计算两个数的和
    return [Caculator sumNum1:num1 andNum2:num2]/2.0f;
}

  

---类方法可以调用对象方法(是通过将对象作为参数传入方法)和类方法 

//通过类方法实现求两个数的平均值
+(float)avg:(Caculator *)caculator{
    //调用对象方法计算两个数的和
    return [caculator sumNum1:caculator->_num1 andNum2:caculator->num2]/2.0f;
}

----类方法不可以调用自身,会造成死循环 

+(void)test{
    NSLog(@"调用类自身的方法");
    [Calculator test];
}
 

同名方法的区别: 可以通过方法名前面的+ - 号区分。 


7、OC类方法应用场景 

如果我们调用一个方法,该方法中不需要使用成员变量,那么我们可以将该方法声明为类方法 [Car run]。





代码下载地址: https://pan.quark.cn/s/b4a8e0160cfc 齿轮与轴系零件在机械设备中扮演着至关重要的角色,它们负责实现动力传输、调整运动形态以及承受工作载荷等核心功能。 在机械工程的设计实践中,齿轮和轴系的设计是一项关键的技术任务,其内容涵盖了材料选用、构造规划、承载能力分析等多个技术层面。 下面将系统性地介绍《齿轮及轴系零件结构设计指导书》中的核心知识点。 一、齿轮设计1. 齿轮种:依据齿廓轮廓的不同,齿轮可划分为直齿齿轮、斜齿轮以及人字齿轮等别,各齿轮均具有特定的性能特点与适用工况,能够满足多样化的工作环境与载荷需求。 2. 齿轮规格参数:模数大小、压力角数值、齿数数量、分度圆尺寸等是齿轮设计的基础数据,这些参数直接决定了齿轮的物理尺寸与运行性能。 3. 齿轮材质选用:齿轮材料的确定需综合评估其耐磨损性能、硬度水平以及韧性表现,常用的材料包括铸铁、钢材、铝合金等。 4. 齿轮强度验证:需进行齿面接触应力分析与齿根弯曲应力分析,以确保齿轮在实际运行过程中不会出现过度磨损或结构破坏。 5. 齿轮加工工艺:涉及切削加工、滚齿加工、剃齿加工、淬火处理等工艺流程,工艺方案的选择将直接影响齿轮的加工精度与使用寿命。 二、轴设计1. 轴的分方式:依据轴在机械装置中的功能定位与受力特点,可将轴划分为心轴、转轴以及传动轴等型。 2. 轴的材料选择:通常采用钢材作为轴的材料,例如碳素结构钢或合金结构钢,特殊需求时可选用不锈钢材料或轻质合金材料。 3. 轴的构造规划:需详细考虑轴的轴向长度、截面直径、键槽布置、轴承安装位置等要素,以满足轴的强度要求、刚度要求以及稳定性要求。 4. 轴的强度验证:需进行轴的扭转强度分析与弯曲强度分析,以防止轴在运行过程中发生塑性变形...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值