IOS筆記-封裝

#import <Foundation/Foundation.h>

 

@interface Student:NSObject

{

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

 

    int age;

}

 

/*set方法

做用:提供一個方法給外界,設置age屬性值,能夠在方法裏面對參數過濾

命名規範:1)方法名必須以set開頭

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

 3)返回值必定是void

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

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

 */

 

/*get方法

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

 2.命名規範:1)確定有返回值,返回值類型確定與成員變量類型一致

        2)方法名跟成員變量名一致

      3)不須要接收任何參數

 (readonly)只容許外界訪問,不容許外界修改的,要用get方法

 

 */

 

 

- (void)setAge:(int)newAge;

- (int)age;

 

- (void)study;

 

 

@end

 

@implementation Student

 

- (void)study

{

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

}

//set方法的實現

- (void)setAge:(int)newAge

{

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

    if(newAge<=0)

    {

        newAge=1;

    }

    age=newAge;

}

 

- (int)age

{

    return age;

}

 

@end

int main()

{

    Student *stu=[Student new];

    [stu setAge:-10];

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

    

    

    [stu study];

    

}
相關文章
相關標籤/搜索