OC學習--OC中的類--類的定義,成員變量,方法


 

1. 類的定義

>用關鍵字@interface進行聲名  @end 結束

>所有的類有一個基類NSobject

>類名 也是標示符 第一個字母大寫 如果多個字母組成 每個單詞的首字母大寫

>類名  冒號":"后  是父類(繼承父類)

>成員變量 (屬性)  用大括號{ }包含起來

>方法的聲明用兩種  +號表示類方法(類名調用)  -表示實例方法9(對象調用)

以下是Person類的聲明:

#import <Foundation/Foundation.h>

@interface Person:NSObject{

     //成員變量

    //默認是受保護的  封裝特性  不允許外面的變量進行訪問

    int grade;

    @public

    int age;

    int numberId;

}

//1.方法必須 -號 或者 +號 開頭

//2. -號 后面是函數的返回值

//3.方法名稱

//4.變量

-(void)printPerson;

-(void)passedAge:(int)newAge;

//帶兩個參數的方法聲明  理解:(void) 函數的返回值

       //passedAge 對第一個參數的描述

                                      //AndNumberId 對第二個參數的描述

-(void)passedAge:(int)newAge AndNuberId:(int)newNumberId;

-(void)passedAge:(int)newAge AndNuberId:(int)newNumberId AndGrade:(int)newGrade;

 +(void)test;

@end

 

2.類的實現

>類的實現 采用關鍵字@implemention   以@end結束

 

以下為Person類的實現文件

#import "Person.h"

@implementation Person

 -(void)printPerson{

    NSLog(@"===實例方法===person info %d__%d",age,numberId);

}

 -(void)passedAge:(int)newAge{

    age = newAge;

    NSLog(@"===實例方法===賦值===%d",age);

}

 -(void)passedAge:(int)newAge AndNuberId:(int)newNumberId{

    age = newAge;

    numberId = newNumberId;

    NSLog(@"===實例方法===賦值===%d__%d",age,numberId);

}

 -(void)passedAge:(int)newAge AndNuberId:(int)newNumberId AndGrade:(int)newGrade{

    age = newAge;

    numberId = newNumberId;

    grade = newGrade;

    NSLog(@"===實例方法===賦值===%d__%d__%d",age,numberId,grade);

}

//類方法 (加號方法)

+(void)test{

    NSLog(@"===用類名調用類方法===");

}

@end

 

3.調用Person類

>Person 發送一個new消息(調用new方法) 在系統里分配存儲空間(堆空間)  並將存儲空間的首地址返回   (創建對象)

 

在main函數里面調用  以下代碼為Person類的調用

 

       //創建person對象

        Person *person = [Person new];

        NSLog(@"===地址===地址===%p",person);

        person->age = 10;

        NSLog(@"===間指===%d",(*person).age);

        NSLog(@"===間指===%d",person->age);

 

        //通過對象去調用 printPerson方法 (實例方法)

        [person printPerson];

        //通過類名去調用  test方法 (對象方法)e

        [Person test];

        

        //對參數賦值  調用帶參數的方法

        [person passedAge:10];

        [person passedAge:20 AndNuberId:30];

        [person passedAge:40 AndNuberId:50 AndGrade:60];

        

        //new == alloc init  創建兩個對象 person1  person2

        Person *person1 = [[Person alloc] init] ;

        NSLog(@"===地址===地址===%p",person1);

        Person *person2 = [Person new];

        NSLog(@"===地址===地址===%p",person2);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM