• IOS开发——02_第一个类的创建、声明…


    OC中,一般用2个文件来描述一个类:

    1.h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface@end

    注:.h中只是用做方法声明,并不进行实现。什么叫声明呢?简单地说就是告诉计算机你的代码中有哪些方法可以使用。

    2.m:类的实现文件,用于实现.h中声明的方法。类的实现使用关键字@implementation@end

    注:1.方法指的就是实现某种功能所编写的代码/算法。

          2.方法的声明和实现必须由- 或者+ 开头。// - 表示对象方法(动态方法), +表示类方法(静态方法)

     

    3.成员变量

    成员变量的常用作用域有3种:

    @public 全局都可以访问

    @protected 只能在类内部和子类中访问

    @private 只能在类内部访问

     

     

    拓展:

    @public(公共)// 在任何地方都可以直接访问对象的成员变量

    @private(私有)方法实现中为默认// 只能在当前类的对象方法中直接访问

    @protected(受保护)默认// 能在当前类和子类的对象方法中直接访问

    @package // 只要处于同一个框架中,就能直接访问对象的成员变量

     

    下面写上代码,让大家更真实感受一下:

      #import

     

     

    @interfaceStudent :NSObject

    {

       // 成员变量默认为@protected,只能在类和子类之间访问

        int _year; //定义一个int类型的成员变量_year

    }

     

    // 声明setget方法

     

    -(void)setYear:(int)year;

    -(int)year;

     

    -(void)study;

     

    @end

     

    // 方法实现

    @implementation Student

     

    //setget方法实现

    -(void)setYear:(int)year

    {

       // 对输入的值进行过滤,这样如果输入负数,就会自动将传进来的值改为1,避免出现负岁的人

       if(year<</span> 0)

       {

           year= 1;

       }

       // 将传进来的值赋值给成员变量_year

       _year = year;

    }

    -(int)year

    {

       // 返回成员变量的值

       return_year;

    }

     

     

    -(void)study

    {

       // 输出

       NSLog(@"%d岁的学生在学习",_year);

    }

     

    @end

     

     

    intmain()

    {

      Student*s = [Student new]; // 相当于 Student *s =[[Student alloc]init]; 推荐

       

       [s setYear:-10];//调用对象的set方法

       [s year];   //调用对象的get方法

       

       [s study]; //调用对象的study方法

       

       return0;

    }

     

    结果:


    如果哪里有错或者有什么问题可以随时联系我,转载请注明出处,谢谢!


  • 相关阅读:
    [转]Asp.NET MVC Widget开发
    [转]让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
    [转]jquery Fancybox丰富的弹出层效果
    [转]响应式网页设计:rem、em设置网页字体大小自适应
    [转]jQuery Popup Login and Contact Form
    [转][ASP.NET MVC 小牛之路]12
    [转]jQuery插件实现模拟alert和confirm
    [转]Ionic 实现双击返回键退出功能
    [转]Ionic – Mobile UI Framework for PhoneGap/Cordova Developers
    [转]VS2015 cordova尝试-camera
  • 原文地址:https://www.cnblogs.com/miaomiaoshen/p/5188648.html
Copyright © 2020-2023  润新知