Objective-C實訓(一)

寫的實訓的內容并不是當天的內容,是之前幾天實訓的總結,好多內容還不完善,有好多東西是給自己總結方便以后看的,希望看到的小伙伴們不要嫌棄??

知識點與練習:

  • 新建一個Person類:

1.在Person.h中進行變量與方法的聲明:

@interface Person : NSObject {
    @public
    NSString *_name;
    NSInteger _age;
    NSString *_gender;
    
}

- (void)sayHello;
- (void)eat;
- (void)setName:(NSString *)name age:(NSInteger)age gender:(NSString *)gender;
@end

2.Person.m中進行方法的實現:

- (void)sayHello{
    NSLog(@"你好啊,我叫%@,我今年%ld歲了,性別%@",_name, _age,_gender);
}

- (void)eat{
    NSLog(@"吃");
}

- (void)setName:(NSString *)name age:(NSInteger)age gender:(NSString *)gender{
    _name = name;
    _age = age;
    _gender = gender;
    //self代表自身(此時調用該方法的對象)
    [self sayHello];
}
  • 在主函數中進行對象的創建以及方法的調用:
#import <Foundation/Foundation.h>
#import "Person.h"      //調用哪個類就得對其頭文件進行導入

int main(int argc, const char * argv[]) {
    //C語言中的字符串前面加上一個@代表OC中的字符串對象,@代表OC對C的拓展
    @autoreleasepool {
        //NSLog(@"hello%d",10);
        Person *p = [Person alloc]; //開辟內存空間
        p = [p init]; //初始化
        //與上邊兩步等價
        Person *p1 = [[Person alloc]init];
        
        p1->_name = @"張三";
        p1->_age = 12;
        p1->_gender = @"男";
        NSLog(@"姓名:%@,年齡:%ld,性別:%@",p1->_name,p1->_age,p1->_gender);
        //方法調用(誰去執行一個行為,被稱為一個對象調用一個方法)
        //OC種方法的調用使用的是消息語法機制
        //[消息接收者 消息];
        [p1 sayHello];
        [p1 eat];

        [p1 setName:@"小喬" age:12 gender:@"女"];
        [p1 sayHello];
    }
    return 0;
}

概念:

1.OC概述:

Objective-C簡稱OC,OC是C語言的擴充,并且OC是iOS和OS X操作系統的編程語言。

2.類:

具有相同特征和行為的事物的抽象。

3.對象:

對象是類的實例,萬事萬物皆對象。
類是對象的類型。
區分對象的黃金法則:當我們看到某個概念的時候如果每個人 的大腦中想到的都是同一個事物的時候,此時就是對象;反之則是類。

4.類和對象的定義:

類的定義:
   1??面向對象的核心思想是類和對象。
   2??OC中類的定義分為兩個部分:接口部分和實現部分。
   3??接口部分:對外聲明類的特征和行為。(.h文件中)
   4??實現部分:行為的具體實現。(.m文件中)
接口部分:
   1??接口部分標志:@interface...@end 。
   2??@interface...@end 的作用:聲明類的實例變量(成員變量)和方法,即特征和行為。
   3??接口部分包含的內容:類名、父類名、實例變量、方法等。
實現部分:
   1??實現部分標志:@implementation...@end。
   2??@implementation...@end 的作用:類行為的具體實現(方法的實現)。

5.類的創建:

oc1.png
oc2.png
oc3.png

Teacher類創建舉例:
oc4.png

OC第一天實訓講的內容比較少,概念性的東西講的比較多,老師留的作業是創建15個類,進行方法的聲明,實現調用等的練習??,在這就不一一列出來了。學習要循序漸進,慢慢來嘛,誰也不是一口吃成個胖子的(這句話說完怎么感覺怪怪的??),期待最后看到你的進步,提前來個勝利的手勢??。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容