OC之成員變量封裝

#import<Foundation/Foundation.h>學習

@interface Student : NSObjectspa

{.net

    // 成員變量儘可能不要用@public 對象

    // @public get

    int age;io

    //@public class

    // 只讀(readonly):只容許外界訪問個人no,不容許外界修改個人noimport

    int no; // 只須要提供get方法變量

}方法

 

/*

 set方法

 1.做用:提供一個方法給外界設置成員變量值,能夠在方法裏面對參數進行相應過濾

 2.命名規範:

 1方法名必須以set開頭

 2set後面跟上成員變量的名稱,成員變量的首字母必須大寫

 3)返回值必定是void

 4必定要接收一個參數,並且參數類型跟成員變量類型一致

 5形參的名稱不能跟成員變量名同樣

 */

- (void)setAge:(int)newAge;

/*

 get方法

 1.做用:返回對象內部的成員變量

 2.命名規範:

 1確定有返回值,返回值類型確定與成員變量類型一致

 2方法名跟成員變量名同樣

 3不須要接收任何參數

 */

- (int)age;

- (void)study;

@end

 

 

@implementation Student

// set方法的實現

- (void)setAge:(int)newAge

{

    // 對傳進來的參數進行過濾

    if (newAge <= 0)

    {

        newAge = 1;

    }

    age = newAge;

}

 

- (int)age

{

    return age;

}

 

 

- (void)study

{

    NSLog(@"%d歲的學生在學習",age);

}

@end

 

int main()

{

    Student *stu = [Student new];

    //stu->age =-10;

    //stu->age = 10;

    [stu setAge:10];

    NSLog(@"學生的年齡是%d", [stu age]);

    //[stu study];

    return 0;

}

相關文章
相關標籤/搜索