zoukankan      html  css  js  c++  java
  • IOS-day03_OC中的get和set

    OC中的get和set实质和C#/java中的一样

    只是表现形式不同而已

    如下:

    1 @interface Car : NSObject
    2 {
    3     int wheels;
    4 }
    5 
    6 -(void) run;
    7 -(void) setWheels:(int)newWheels;
    8 -(int) wheels;
    9 @end

    实现:

     1 @implementation Car
     2 
     3 -(void)run{
     4     NSLog(@"%i个轮子的车跑起来了",wheels);
     5 }
     6 -(void) setWheels:(int) newWheels{
     7     if (newWheels <= 0) {
     8         newWheels = 4;
     9     }
    10     wheels = newWheels;
    11 }
    12 -(int) wheels{
    13     return wheels;
    14 }
    15 @end

    命名规范:

    set方法顾名思义是设置值的方法,在OC中一般以set开头,变量的首字母大写,目的主要起到一定的限制作用,如果设置的值不合理的话我们可以再方法中进行判断,避免直接访问其变量

    get方法是取值的方法,在OC中一般和变量名一致(我比较倾向于get开头)

    成员变量命名规范:

      一般以 _ 开头,这是规范,一般以 _ 开头的变量就是成员变量,所以上面代码中的 int wheels;应该改为 int _wheels;则没有以_开头的则是方法

    方法:

    以减号开头的方法是对象方法,如: -(void) run{...},这个方法只能用对象来调用

    以加号开头的方法为类对象,如 +(void) run{...},这个方法可以通过类名直接调用,在C#中就是静态的方法,但是也有区别,OC中的类方法只能用类来调用,不能用对象来调用,而C#的静态方法是可以通过对象来调用的.

      类方法中不能访问实例变量,实例变量只能通过对象调用.

  • 相关阅读:
    Path 环境变量
    Scala_ 类_可见性
    ubuntu16.04 注意特别出
    Python基础之文件操作
    python之set集合操作
    python数据类型之字典操作
    python的数据类型之列表list
    Python的条件控制及循环
    使用jmeter做接口测试
    AMD64 专业名词缩写
  • 原文地址:https://www.cnblogs.com/liyajie/p/4448768.html
Copyright © 2011-2022 走看看