zoukankan      html  css  js  c++  java
  • OC基础--OC中的类方法和对象方法

    PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似。明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧。重点是自己真的能够区分开!

    一、OC中的对象方法

      1.以减号“-”开头

      2.只能让对象调用,没有对象,这个方法根本不可能被执行

      3.对象方法能访问实例变量(也就是成员变量)

    二、OC中的类方法

      1.以加号“+”开头

      2.只能用类名调用,对象不能调用

      3.类方法中不能访问实例变量(也就是成员变量)

      4.适用场合:当不需要访问成员变量的时候,尽量用类方法

    值得注意的是类方法和对象方法可以同名,但是慎用啊!

    三、代码示例:

     1 /*
     2  设计一个计算器类
     3  1.类名:Caculator
     4  2.方法:
     5    * 返回PI:3.14
     6    * 计算某个数值的平方
     7    * 计算两个数值的和
     8  */
     9 
    10 #import <Foundation/Foundation.h>
    11 
    12 // 计算器的声明
    13 @interface Caculator : NSObject
    14 // 方法的声明
    15 + (double)pi;
    16 + (double)pingfang:(double)number;
    17 + (double)sumOfNum1:(double)num1 andNum2:(double)num2;
    18 @end
    19 
    20 // 计算器的实现
    21 @implementation Caculator
    22 
    23 // 实现@interface中声明的方法
    24 + (double)pi
    25 {
    26     return 3.14;
    27 }
    28 
    29 + (double)pingfang:(double)number
    30 {
    31     return number * number;
    32 }
    33 
    34 + (double)sumOfNum1:(double)num1 andNum2:(double)num2
    35 {
    36     return num1 + num2;
    37 }
    38 @end
    39 
    40 
    41 int main()
    42 {
    43     [Caculator pi];
    44     
    45     [Caculator pingfang:10];
    46     
    47     [Caculator sumOfNum1:10 andNum2:5];
    48     return 0;
    49 }
  • 相关阅读:
    纯JavaScript实现HTML5 Canvas六种特效滤镜
    玩转html5 的 canvas画图
    为什么 ++[[]][+[]]+[+[]] = 10?
    作用域和闭包
    7 个令人惊讶的 JavaScript “特
    60个有用css代码片段
    函数
    数组
    我们为什么要尝试前后端分离
    javascript面向对象——构造函数和原型对象
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5165910.html
Copyright © 2011-2022 走看看